Exemplo n.º 1
0
        public IHttpActionResult Post(AddInvoiceModel model)
        {
            var    order    = ordersManager.GetById(model.orderId);
            double taxValue = CalculationHelper.CalculateTaxes(taxesManager);

            var invoice = new ProfiCraftsman.Contracts.Entities.Invoices()
            {
                Orders           = order,
                TaxValue         = taxValue,
                WithTaxes        = order.Customers.WithTaxes,
                Discount         = order.Discount ?? 0,
                CreateDate       = DateTime.Now,
                ChangeDate       = DateTime.Now,
                IsSellInvoice    = model.isSell,
                PayInDays        = 10,
                InvoicePositions = new List <InvoicePositions>()
            };



            if (AddInvoicePositions(order, invoice))
            {
                invoice.InvoiceNumber = numberProvider.GetNextInvoiceNumber();

                invoicesManager.AddEntity(invoice);
                invoicesManager.SaveChanges();
            }

            model.Id = invoice.Id;
            return(Ok(model));
        }