public async Task <IActionResult> Post(OrderViewModel model) { // add it to the database try { if (ModelState.IsValid) { var newOrder = mapper.Map <OrderViewModel, Order>(model); if (newOrder.OrderDate == DateTime.MinValue) { newOrder.OrderDate = DateTime.Now; } newOrder.User = await userManager.FindByNameAsync(User.Identity.Name); repository.AddEntity(newOrder); if (repository.SaveAll()) { var vm = mapper.Map <Order, OrderViewModel>(newOrder); return(Created($"/api/orders/{vm.OrderId}", vm)); } } else { return(BadRequest(ModelState)); } } catch (Exception ex) { logger.LogError($"Failed to save a new order: {ex}"); } return(BadRequest("Failed to save new order")); }