Пример #1
0
        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));
        }