public async Task <IActionResult> CreateCustomer([FromBody] CustomerResource customerResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var customer = mapper.Map <CustomerResource, Customer>(customerResource); if (customerRepository.CustomerExists(customer)) { return(BadRequest(Errors.AddErrorToModelState("login_failure", "Username already taken.", ModelState))); } customer.CustomerContact.CustomerTitle = staticDataRepository.GetTitle(customerResource.TitleId); customerRepository.Add(customer); await unitOfWork.CompleteAsync(); customer = await customerRepository.GetCustomer(customer.Id); var result = mapper.Map <Customer, CustomerResource>(customer); return(Ok(result)); }