public void UpdateNewInvoice([FromUri] int id, [FromBody] CreateNewInvoiceJsonObj obj) { var invoiceInDb = _context.Invoices.Find(id); //invoiceInDb.InvoiceNumber = obj.InvoiceNumber; invoiceInDb.InvoiceDate = obj.InvoiceDate; invoiceInDb.PurchaseOrder = obj.PurchaseOrder; invoiceInDb.DueDate = obj.DueDate; invoiceInDb.Enclosed = obj.Enclosed; invoiceInDb.ShipDate = obj.ShipDate; invoiceInDb.ShipVia = obj.ShipVia; invoiceInDb.BillTo = obj.BillTo; invoiceInDb.ShipTo = obj.ShipTo; invoiceInDb.Currency = obj.Currency; invoiceInDb.Container = obj.Container; if (obj.Container != "" && obj.PurchaseOrder != "") { invoiceInDb.InvoiceType = InvoiceType.Operation; } else if (obj.Container != "") { invoiceInDb.InvoiceType = InvoiceType.Receiving; } else if (obj.PurchaseOrder != "") { invoiceInDb.InvoiceType = InvoiceType.OperationAndShipping; } _context.SaveChanges(); }
public IHttpActionResult CreateNewInvoice([FromBody] CreateNewInvoiceJsonObj obj) { var vendorInDb = _context.UpperVendors.SingleOrDefault(x => x.Name == obj.Vendor && x.DepartmentCode == obj.DepartmentCode); var newInvoice = new Models.Invoice { InvoiceNumber = "Unsynchronised", InvoiceType = "", InvoiceDate = obj.InvoiceDate, TotalDue = 0, PurchaseOrder = obj.PurchaseOrder, DueDate = obj.DueDate, Enclosed = obj.Enclosed, ShipDate = obj.ShipDate, ShipVia = obj.ShipVia, BillTo = obj.BillTo, ShipTo = obj.ShipTo, Currency = obj.Currency, UpperVendor = vendorInDb, Container = obj.Container, RequestId = "", CreatedBy = _userName, CreatedDate = DateTime.Now }; if (obj.Container != "" && obj.PurchaseOrder != "") { newInvoice.InvoiceType = InvoiceType.Operation; } else if (obj.Container != "") { newInvoice.InvoiceType = InvoiceType.Receiving; } else if (obj.PurchaseOrder != "") { newInvoice.InvoiceType = InvoiceType.OperationAndShipping; } _context.Invoices.Add(newInvoice); _context.SaveChanges(); var sampleDto = Mapper.Map <Models.Invoice, InvoiceDto>(_context.Invoices.OrderByDescending(x => x.Id).First()); return(Created(Request.RequestUri + "/" + sampleDto.Id, sampleDto)); }