Пример #1
0
        public async Task <IActionResult> CreateAsync([FromBody] ContractDataRequest contractDataRequest)
        {
            try
            {
                //Transforming the request model's customer properties to view model.
                CustomerViewModel customerViewModel = new CustomerViewModel
                {
                    FullName        = contractDataRequest.FullName,
                    Email           = contractDataRequest.Email,
                    Age             = contractDataRequest.Age,
                    Dependents      = contractDataRequest.Dependents,
                    Income          = contractDataRequest.Income,
                    MaritalStatusID = contractDataRequest.MaritalStatusID,
                };

                //Setting the customer's house properties.
                if (contractDataRequest.House != null && contractDataRequest.House.HouseOwnershipStatusID.HasValue)
                {
                    customerViewModel.House = 1;
                    customerViewModel.HouseOwnershipStatusID = contractDataRequest.House.HouseOwnershipStatusID;
                }

                //Setting the customer's vehicle properties.
                if (contractDataRequest.Vehicle != null && contractDataRequest.Vehicle.VehicleYear.HasValue)
                {
                    customerViewModel.Vehicle     = 1;
                    customerViewModel.VehicleYear = contractDataRequest.Vehicle.VehicleYear;
                }

                //Transforming the request model's risk question properties to view model.
                List <RiskQuestionViewModel> riskQuestions = contractDataRequest.RiskQuestions.Select(x => new RiskQuestionViewModel
                {
                    Answer = x.Answer
                }).ToList();

                //Registering the new contract.
                ContractViewModel contractViewModel = await _contractAppService.CreateAsync(customerViewModel, riskQuestions);

                //Checking result.
                if (contractViewModel != null)
                {
                    return(Created("", contractViewModel));
                }
                else
                {
                    return(Conflict("The received data was of incorrect value."));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(SetTrace(ex)));
            }
        }
Пример #2
0
 public virtual async Task <ContractListDto> CreateAsync(Guid employeeId, ContractCreateDto input)
 {
     return(await _contractAppService.CreateAsync(employeeId, input));
 }