예제 #1
0
        public IActionResult AddInvoice([FromBody] DTOs.Invoice invoiceForCreate)
        {
            Entities.Invoice invoice;
            List <Entities.InvoiceDetail> invoiceDetails;

            try
            {
                invoice        = _mapper.Map <Entities.Invoice>(invoiceForCreate);
                invoice.UserId = "preicher";


                var invoiceToAdd = _invoiceRepository.AddInvoice(invoice);
                invoiceDetails = invoiceForCreate.InvoiceDetails.Select(d => new Entities.InvoiceDetail(invoiceToAdd.InvoiceId, "preicher", d)).ToList();
                invoiceDetails.ForEach(invDtl => _invoiceRepository.AddInvoiceDetail(invDtl));
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message);
                return(StatusCode(500));
            }
            var InvoiceToSend = _mapper.Map <DTOs.Invoice>(invoice);

            foreach (var itm in invoiceDetails)
            {
                InvoiceToSend.InvoiceDetails.Add(new DTOs.InvoiceDetail(itm.budgetCategoryId, itm.budgetId, itm.InvAmt));
            }

            InvoiceToSend.DocCnt = 0;
            return(Ok(InvoiceToSend));
        }