Esempio n. 1
0
        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?!?
            }
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        public async Task UpdateModelFromDto(long?policyId, BicycleQuote model)
        {
            PolicyDTO dto = await GetPolicy(policyId);

            UpdateModelFromDto(dto, model);
        }