public IActionResult CreateNewInvoice(uint customerOrderId, [FromBody] NewInvoiceDto invoice) { if (invoice == null || customerOrderId == 0) { return(StatusCode(400)); } if (!ModelState.IsValid) { return(new InvalidInputResponse(ModelState)); } var customerOrder = _customerOrderQuery.GetSalesOrderById(customerOrderId); if (customerOrder == null) { return(StatusCode(404, $"Customer Order With id: {customerOrderId} Not Found ")); } var newInvoice = _factory.NewInvoice(invoice); var result = _command.CreateInvoice(newInvoice); if (result == null) { return(StatusCode(500, $"Unknown Error Occured While Saving Invoice Try Again")); } return(StatusCode(201, result)); }