32 lines
1.7 KiB
C#
32 lines
1.7 KiB
C#
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Accounts;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Tax;
|
|
|
|
namespace LCU.API.Internal.DocumentIngestor.Utilities;
|
|
|
|
public static class ToDetailStringExtension
|
|
{
|
|
public static string ToDetailString(this IEnumerable<AccountOwnership> owners) =>
|
|
string.Join("; ", owners.Select(o => o.ToDetailString()));
|
|
|
|
public static string ToDetailString(this AccountOwnership owner) => owner.PersonNumber != 0
|
|
? FormatPersonDetailString(owner.FirstName, owner.MiddleName, owner.LastName, owner.PersonNumber)
|
|
: FormatOrganizationDetailString(owner.OrganizationName, owner.ByOrgNbr);
|
|
|
|
public static string ToDetailString(this IEnumerable<PersonTaxIdDataResponse> owners) =>
|
|
string.Join("; ", owners.Select(o => o.ToDetailString()));
|
|
|
|
public static string ToDetailString(this PersonTaxIdDataResponse owner) =>
|
|
FormatPersonDetailString(owner.FirstName, owner.MiddleName, owner.LastName, owner.PersonNumber);
|
|
|
|
public static string ToDetailString(this IEnumerable<OrganizationTaxIdDataResponse> owners) =>
|
|
string.Join("; ", owners.Select(o => o.ToDetailString()));
|
|
|
|
public static string ToDetailString(this OrganizationTaxIdDataResponse owner) =>
|
|
FormatOrganizationDetailString(owner.Name, owner.OrganizationNumber);
|
|
|
|
private static string FormatPersonDetailString(string firstName, string middleName, string lastName, long id) =>
|
|
$"Person Detail: First Name {firstName}, Middle {middleName}, Last {lastName} and ID {id}";
|
|
|
|
private static string FormatOrganizationDetailString(string name, long id) =>
|
|
$"Organization Detail: Organization Name {name} and ID {id}";
|
|
} |