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))); } }
public virtual async Task <ContractListDto> CreateAsync(Guid employeeId, ContractCreateDto input) { return(await _contractAppService.CreateAsync(employeeId, input)); }