public Salary(string name, double amount, double pensionPct, double employerPensionPct, bool studentLoan) { this.Name = name; this.Amount = amount; this.StudentLoan = studentLoan; this.EmployeeContribution = new PensionContribution(pensionPct, amount); this.EmployerContribution = new PensionContribution(employerPensionPct, amount); }
private static Person PersonStatus(PersonDto dto, EmergencyFundSpec emergencyFundSpec) { var rentalInfos = dto.Rental == null ? new List <RentalInfo>() : dto.Rental.Select(infoDto => new RentalInfo() { CurrentValue = Money.Create(infoDto.CurrentValue), Expenses = Money.Create(infoDto.Expenses), GrossIncome = Money.Create(infoDto.GrossRent), Repayment = infoDto.Repayment, MortgagePayments = Money.Create(infoDto.MortgageCosts), OutstandingMortgage = Money.Create(infoDto.OutstandingMortgage), RemainingTerm = infoDto.RemainingTerm }); var dob = DateTime.Parse(dto.Dob); var salaryStepInputs = new List <SalaryStep>(); var salarySteps = dto.SalarySteps.Where(step => !string.IsNullOrWhiteSpace(step.Age) && !string.IsNullOrWhiteSpace(step.Amount)) .Select(step => new SalaryStep(step.Date ?? dob.AddYears(Convert.ToInt32(step.Age)), Money.Create(step.Amount))); salaryStepInputs.AddRange(salarySteps); var person = new Person { Dob = dob, Salary = Money.Create(dto.Salary), SalaryStepInputs = salaryStepInputs, Sex = dto.Female ? Sex.Female : Sex.Male, EmergencyFundSpec = emergencyFundSpec, ExistingSavings = Money.Create(dto.Savings), ExistingPrivatePension = Money.Create(dto.Pension), EmployerContribution = PensionContribution.Create(dto.EmployerContribution), EmployeeContribution = PensionContribution.Create(dto.EmployeeContribution), NiContributingYears = string.IsNullOrWhiteSpace(dto.NiContributingYears) ? (int?)null : Convert.ToInt32(dto.NiContributingYears), RentalPortfolio = new RentalPortfolio(rentalInfos.ToList()), Children = dto.Children ?? new List <DateTime>(), }; return(person); }