Files
monorepo/LCU.API.Internal.DocumentIngestor/LCU.API.Internal.DocumentIngestor/Utilities/ToDetailStringExtension.cs
T
2026-03-25 14:50:13 -05:00

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}";
}