public void UpdateModelFromDto(PolicyDTO policy, BicycleQuote model) { model.PolicyNumber = policy.PolicyNumber; if (policy.Contact != null) { model.PolicyDetail.Contact.FirstName = policy.Contact.FirstName; model.PolicyDetail.Contact.LastName = policy.Contact.LastName; model.PolicyDetail.Contact.DateOfBirth = policy.Contact.DateOfBirth.HasValue ? new DateData(policy.Contact.DateOfBirth.Value) : null; model.PolicyDetail.Contact.ContactEmail = policy.Contact.EmailAddress; model.PolicyDetail.Contact.ContactNumber = policy.Contact.PhoneNumber; if (policy.Contact.Address != null) { model.PolicyDetail.Contact.Address = policy.Contact.Address.AddressLine1; model.PolicyDetail.Contact.Suburb = policy.Contact.Address.Suburb; model.PolicyDetail.Contact.PostCode = policy.Contact.Address.PostCode; } } BicycleQuoteQuoteOption option = new BicycleQuoteQuoteOption { Description = "Bike Insurance", IsSelected = true, PolicyStartDate = DateUtil.CurrentDateTime.ToString("dd MMMM yyyy") }; if (policy.Option != null) { // // values are mandatory in the database, therefore we can make the assumption that they are set. // they are also set as [Required] in the policy, so no idea why they are defined as nullable types. // option.AnnualPremium = (decimal)policy.Option.AnnualPremium.GetValueOrDefault(); option.Excess = (decimal)policy.Option.Excess.GetValueOrDefault(); option.Code = policy.Option.Code; option.SumInsured.Value = (int)Convert.ToDecimal(policy.Option.AgreedValue); model.PolicyPayment.PaymentDetails.PaymentMethod = 1; model.PolicyPayment.PaymentDetails.PaymentFrequency = 1; model.PolicyPayment.PaymentDetails.Excess = $"{policy.Option.Excess.GetValueOrDefault():C2}"; model.PolicyPayment.PaymentDetails.Premium = $"{policy.Option.AnnualPremium.GetValueOrDefault():C2}"; model.PolicyPayment.PaymentDetails.PolicyStartDate = DateUtil.CurrentDateTime.ToString("dd MMMM yyyy"); } model.Quote.Options = new List <BicycleQuoteQuoteOption> { option }; if (policy.Payment != null) { // TODO : it's been paid, do we need to do anything here?!? } }
public async Task <PolicyDTO> UpdateContactDetails(long?policyId, BicycleQuote model) { AddressDTO address = new AddressDTO() { AddressLine1 = model.PolicyDetail.Contact.Address, PostCode = model.PolicyDetail.Contact.PostCode, Suburb = model.PolicyDetail.Contact.Suburb }; PolicyContactDTO dto = new PolicyContactDTO() { Address = address, DateOfBirth = model.PolicyDetail.Contact.DateOfBirth.ToDateTime(), EmailAddress = model.PolicyDetail.Contact.ContactEmail, FirstName = model.PolicyDetail.Contact.FirstName, LastName = model.PolicyDetail.Contact.LastName, PhoneNumber = model.PolicyDetail.Contact.ContactNumber }; return(await PolicyApi.SetContactWithHttpMessagesAsync(policyId.GetValueOrDefault(), dto, Jwt.CreateAuthorizationHeader(policyId)).Data()); }
public async Task UpdateModelFromDto(long?policyId, BicycleQuote model) { PolicyDTO dto = await GetPolicy(policyId); UpdateModelFromDto(dto, model); }