public async Task <IActionResult> EditInvoice(FacturaViewModel invoice)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (invoice.IdFactura == 0)
                    {
                        Factura invoiceForDb = _mapper.Map <FacturaViewModel, Factura>(invoice);
                        await _repository.AddInvoice(invoiceForDb);

                        return(RedirectToAction("AllInvoices", "Invoice"));
                    }
                    Factura invoiceFromDb = await _repository.GetInvoiceById(invoice.IdFactura);

                    if (invoiceFromDb == null)
                    {
                        return(RedirectToAction("EditInvoice"));
                    }
                    invoiceFromDb.IdLocatie    = invoice.IdLocatie;
                    invoiceFromDb.NumarFactura = invoice.NumarFactura;
                    invoiceFromDb.DataFactura  = invoice.DataFactura;
                    invoiceFromDb.NumeClient   = invoice.NumeClient;
                    await _repository.EditInvoice(invoiceFromDb);

                    return(RedirectToAction("AllInvoices", "Invoice"));
                }
                catch (Exception ex)
                {
                    return(View("Error", ex.Message.Split('.')[0]));
                }
            }
            return(View("AddInvoice"));
        }
Пример #2
0
        public async Task <IActionResult> AddInvoice(FacturaDTO facturaDTO)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Factura newInvoice = _mapper.Map <FacturaDTO, Factura>(facturaDTO);
                    await _repository.AddInvoice(newInvoice);

                    return(Ok(newInvoice));
                }
                catch (Exception e)
                {
                    return(BadRequest(e.Message.Split('.')[0]));
                }
            }
            return(BadRequest("Invalid Invoice."));
        }