public IActionResult Post([FromBody] OrderViewModel model) { try { if (ModelState.IsValid) { var newOrder = new Order() { OrderDate = model.OrderDate, OrderNumber = model.OrderNumber, Id = model.OrderId }; if (newOrder.OrderDate == DateTime.MinValue) { newOrder.OrderDate = DateTime.Now; } _repository.AddEntity(newOrder); if (_repository.SaveChanges()) { var vm = new OrderViewModel() { OrderId = newOrder.Id, OrderDate = newOrder.OrderDate, OrderNumber = newOrder.OrderNumber }; 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")); }