public static ClaimDetails MapToClaimDetails(this BenefitsClaim claim) => new ClaimDetails { PersonName = $"{claim.PersonName.Forenames} {claim.PersonName.Surname}", Number = claim.Number, Status = ParseStatusCode(claim.Status), NextPayment = SetNextPayment(claim), Address = string.Join(", ", new[] { claim.Address1, claim.Address2, claim.Address3, claim.Address4, claim.Postcode }.Where(_ => !string.IsNullOrEmpty(_))), CurrentEntitlement = ParseBenefitsEntitlement(claim.BenefitEntitlement), BenefitsCombination = SetBenefitsCombination(claim.BenefitEntitlement, claim.Status) };
private static ClaimNextPayment SetNextPayment(BenefitsClaim claim) => new ClaimNextPayment { Amount = claim.NextPayment.Amount, Method = claim.NextPayment.Method, PaidUpToAmount = claim.NextPayment.PaidUpToAmount, Payee = claim.NextPayment.Payee, DueDate = claim.NextPayment.PaymentDueDate, Schedule = claim.NextPayment.Schedule, Status = SetPaymentStatus(claim.NextPayment.Amount, claim.BenefitEntitlement, claim.NextPayment.Schedule) };