public ActionResult AddPurchaseInvoice(int?id = null) { Models.ViewModels.Purchases.AddPurchaseInvoice model = new Models.ViewModels.Purchases.AddPurchaseInvoice(); if (id != null) { var existingPO = _purchasingService.GetPurchaseOrderById(id.Value); model.Date = existingPO.Date; model.Vendor = existingPO.Vendor.No; model.No = existingPO.No; model.Amount = existingPO.PurchaseOrderLines.Sum(a => a.Amount); foreach (var line in existingPO.PurchaseOrderLines) { model.PurchaseInvoiceLines.Add(new Models.ViewModels.Purchases.AddPurchaseInvoiceLine() { Id = line.Id, ItemId = line.ItemId, UnitOfMeasurementId = line.MeasurementId, Description = line.Item.Description, Quantity = line.Quantity, Cost = line.Cost, TotalLineCost = line.Cost * line.Quantity, ReceivedQuantity = line.GetReceivedQuantity().Value }); } } return(View(model)); }
public ActionResult AddPurchaseInvoice(Models.ViewModels.Purchases.AddPurchaseInvoice model) { if (string.IsNullOrEmpty(model.VendorInvoiceNo)) { return(RedirectToAction("PurchaseOrders")); } var existingPO = _purchasingService.GetPurchaseOrderById(model.Id); var vendor = _purchasingService.GetVendorById(existingPO.VendorId); var purchInvoice = new PurchaseInvoiceHeader() { Date = model.Date, VendorInvoiceNo = model.VendorInvoiceNo, Vendor = vendor, VendorId = vendor.Id, CreatedBy = User.Identity.Name, CreatedOn = DateTime.Now, ModifiedBy = User.Identity.Name, ModifiedOn = DateTime.Now }; foreach (var line in model.PurchaseInvoiceLines) { var item = _inventoryService.GetItemById(line.ItemId); var measurement = _inventoryService.GetMeasurementById(line.UnitOfMeasurementId); purchInvoice.PurchaseInvoiceLines.Add(new PurchaseInvoiceLine() { ItemId = item.Id, MeasurementId = measurement.Id, Quantity = line.Quantity, ReceivedQuantity = line.ReceivedQuantity, Cost = item.Cost.Value, Discount = 0, Amount = item.Cost.Value * line.ReceivedQuantity, CreatedBy = User.Identity.Name, CreatedOn = DateTime.Now, ModifiedBy = User.Identity.Name, ModifiedOn = DateTime.Now }); } _purchasingService.AddPurchaseInvoice(purchInvoice, existingPO.Id); return(RedirectToAction("PurchaseOrders")); }
public ActionResult AddPurchaseInvoice(int? id = null) { Models.ViewModels.Purchases.AddPurchaseInvoice model = new Models.ViewModels.Purchases.AddPurchaseInvoice(); if (id != null) { var existingPO = _purchasingService.GetPurchaseOrderById(id.Value); model.Date = existingPO.Date; model.Vendor = existingPO.Vendor.Name; model.No = existingPO.No; model.Amount = existingPO.PurchaseOrderLines.Sum(a => a.Amount); foreach (var line in existingPO.PurchaseOrderLines) { model.PurchaseInvoiceLines.Add(new Models.ViewModels.Purchases.AddPurchaseInvoiceLine() { Id = line.Id, ItemId = line.ItemId, UnitOfMeasurementId = line.MeasurementId, Description = line.Item.Description, Quantity = line.Quantity, Cost = line.Cost, TotalLineCost = line.Cost * line.Quantity, ReceivedQuantity = line.GetReceivedQuantity().Value }); } } return View(model); }