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")); }
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.")); }