public ActionResult SalesInvoice(int id) { var order = _salesService.GetSalesInvoiceById(id); var model = new Models.ViewModels.Sales.SalesHeaderViewModel(_inventoryService, _financialService); model.Id = order.Id; model.CustomerId = order.CustomerId; model.Date = order.Date; model.No = order.No; foreach (var line in order.SalesInvoiceLines) { var lineItem = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); lineItem.Id = line.Id; lineItem.ItemId = line.ItemId; lineItem.ItemNo = line.Item.No; lineItem.ItemDescription = line.Item.Description; lineItem.Measurement = line.Measurement.Description; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Price = line.Amount; model.SalesLine.SalesLineItems.Add(lineItem); } HttpContext.Response.Clear(); HttpContext.Response.AddHeader("Content-Type", "application/pdf"); var html = base.RenderPartialViewToString("~/Views/Reports/SalesInvoice.cshtml", model); HttpContext.Response.Filter = new PdfFilter(HttpContext.Response.Filter, html); return(View(model)); }
public ActionResult SalesInvoice(int id) { var order = _salesService.GetSalesInvoiceById(id); var model = new Models.ViewModels.Sales.SalesHeaderViewModel(_inventoryService, _financialService); model.Id = order.Id; model.CustomerId = order.CustomerId; model.Date = order.Date; model.No = order.No; foreach (var line in order.SalesInvoiceLines) { var lineItem = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); lineItem.Id = line.Id; lineItem.ItemId = line.ItemId; lineItem.ItemNo = line.Item.No; lineItem.ItemDescription = line.Item.Description; lineItem.Measurement = line.Measurement.Description; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Price = line.Amount; model.SalesLine.SalesLineItems.Add(lineItem); } HttpContext.Response.Clear(); HttpContext.Response.AddHeader("Content-Type", "application/pdf"); var html = base.RenderPartialViewToString("~/Views/Reports/SalesInvoice.cshtml", model); HttpContext.Response.Filter = new PdfFilter(HttpContext.Response.Filter, html); return View(model); }
private void AddLineItem(Models.ViewModels.Sales.SalesHeaderViewModel model) { if (!model.CustomerId.HasValue) { throw new Exception("Please enter customer."); } var item = _inventoryService.GetItemByNo(model.SalesLine.ItemNo); var newLine = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); newLine.CustomerId = model.CustomerId.HasValue ? model.CustomerId.Value : 0; newLine.ItemId = item.Id; newLine.ItemNo = item.No; newLine.ItemDescription = item.Description; newLine.Measurement = item.SellMeasurement.Description; newLine.Quantity = model.SalesLine.Quantity; newLine.Price = model.SalesLine.Price; newLine.Discount = model.SalesLine.Discount; model.SalesLine.SalesLineItems.Add(newLine); foreach (var line in model.SalesLine.SalesLineItems) { line.SetServiceHelpers(_financialService); } }
public ActionResult SaveInvoice(Models.ViewModels.Sales.SalesHeaderViewModel model) { SalesInvoiceHeader invoice = null; if (model.Id == 0) { invoice = new SalesInvoiceHeader(); invoice.CreatedBy = User.Identity.Name; invoice.CreatedOn = DateTime.Now; } else { invoice = _salesService.GetSalesInvoiceById(model.Id); } invoice.ModifiedBy = User.Identity.Name; invoice.ModifiedOn = DateTime.Now; invoice.CustomerId = model.CustomerId.Value; invoice.Date = model.Date; invoice.ShippingHandlingCharge = model.ShippingHandlingCharges; foreach (var line in model.SalesLine.SalesLineItems) { SalesInvoiceLine lineItem = null; var item = _inventoryService.GetItemByNo(line.ItemNo); if (!line.Id.HasValue) { lineItem = new SalesInvoiceLine(); lineItem.CreatedBy = User.Identity.Name; lineItem.CreatedOn = DateTime.Now; invoice.SalesInvoiceLines.Add(lineItem); } else { lineItem = invoice.SalesInvoiceLines.Where(i => i.Id == line.Id).FirstOrDefault(); } lineItem.ModifiedBy = User.Identity.Name; lineItem.ModifiedOn = DateTime.Now; lineItem.ItemId = line.ItemId; lineItem.MeasurementId = item.SellMeasurementId.Value; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Amount = line.Price; } if (model.Id == 0) { _salesService.AddSalesInvoice(invoice, null); } else { _salesService.UpdateSalesInvoice(invoice); } return(RedirectToAction("SalesInvoices")); }
public ActionResult SaveOrder(Models.ViewModels.Sales.SalesHeaderViewModel model) { SalesOrderHeader order = null; if (model.Id == 0) { order = new SalesOrderHeader(); order.CreatedBy = User.Identity.Name; order.CreatedOn = DateTime.Now; } else { order = _salesService.GetSalesOrderById(model.Id); } order.ModifiedBy = User.Identity.Name; order.ModifiedOn = DateTime.Now; order.CustomerId = model.CustomerId.Value; order.PaymentTermId = model.PaymentTermId; order.Date = model.Date; foreach (var line in model.SalesLine.SalesLineItems) { SalesOrderLine lineItem = null; var item = _inventoryService.GetItemByNo(line.ItemNo); if (!line.Id.HasValue) { lineItem = new SalesOrderLine(); lineItem.CreatedBy = User.Identity.Name; lineItem.CreatedOn = DateTime.Now; order.SalesOrderLines.Add(lineItem); } else { lineItem = order.SalesOrderLines.Where(i => i.Id == line.Id).FirstOrDefault(); } lineItem.ModifiedBy = User.Identity.Name; lineItem.ModifiedOn = DateTime.Now; lineItem.ItemId = line.ItemId; lineItem.MeasurementId = item.SellMeasurementId.Value; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Amount = line.Price; } if (model.Id == 0) { _salesService.AddSalesOrder(order, true); } else { _salesService.UpdateSalesOrder(order); } return(RedirectToAction("SalesOrders")); }
public ActionResult SaveDelivery(Models.ViewModels.Sales.SalesHeaderViewModel model) { SalesDeliveryHeader delivery = null; if (model.Id == 0) { delivery = new SalesDeliveryHeader(); delivery.CreatedBy = User.Identity.Name; delivery.CreatedOn = DateTime.Now; } else { delivery = _salesService.GetSalesDeliveryById(model.Id); } delivery.ModifiedBy = User.Identity.Name; delivery.ModifiedOn = DateTime.Now; delivery.CustomerId = model.CustomerId.Value; delivery.PaymentTermId = model.PaymentTermId; delivery.Date = model.Date; foreach (var line in model.SalesLine.SalesLineItems) { SalesDeliveryLine lineItem = null; var item = _inventoryService.GetItemByNo(line.ItemNo); if (!line.Id.HasValue) { lineItem = new SalesDeliveryLine(); lineItem.CreatedBy = User.Identity.Name; lineItem.CreatedOn = DateTime.Now; delivery.SalesDeliveryLines.Add(lineItem); } else { lineItem = delivery.SalesDeliveryLines.Where(i => i.Id == line.Id).FirstOrDefault(); } lineItem.ModifiedBy = User.Identity.Name; lineItem.ModifiedOn = DateTime.Now; lineItem.ItemId = line.ItemId; lineItem.MeasurementId = item.SellMeasurementId.Value; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Price = line.Price; } if (model.Id == 0) { _salesService.AddSalesDelivery(delivery, true); } else { } return(RedirectToAction("SalesDeliveries")); }
private void DeleteLineItem(Models.ViewModels.Sales.SalesHeaderViewModel model) { model.SetServiceHelpers(_inventoryService, _financialService); var request = HttpContext.Request; var deletedItem = request.Form["DeletedLineItem"]; if (!string.IsNullOrEmpty(deletedItem)) { model.SalesLine.SalesLineItems.RemoveAt(int.Parse(deletedItem)); } }
private void AddLineItem(Models.ViewModels.Sales.SalesHeaderViewModel model) { var item = _inventoryService.GetItemByNo(model.SalesLine.ItemNo); var newLine = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); newLine.ItemId = item.Id; newLine.ItemNo = item.No; newLine.ItemDescription = item.Description; newLine.Measurement = item.SellMeasurement.Description; newLine.Quantity = model.SalesLine.Quantity; newLine.Price = model.SalesLine.Price; newLine.Discount = model.SalesLine.Discount; model.SalesLine.SalesLineItems.Add(newLine); foreach (var line in model.SalesLine.SalesLineItems) { line.SetServiceHelpers(_financialService); } }
public ActionResult ReturnView(Models.ViewModels.Sales.SalesHeaderViewModel model) { string actionName = string.Empty; switch (model.DocumentType) { case Core.Domain.DocumentTypes.SalesOrder: actionName = "SalesOrder"; break; case Core.Domain.DocumentTypes.SalesInvoice: actionName = "SalesInvoice"; break; case Core.Domain.DocumentTypes.SalesDelivery: actionName = "SalesDelivery"; break; } return(View(actionName, model)); }
public ActionResult SalesOrder(int id = 0) { var model = new Models.ViewModels.Sales.SalesHeaderViewModel(_inventoryService, _financialService); model.DocumentType = Core.Domain.DocumentTypes.SalesOrder; if (id == 0) { return(View(model)); } else { var order = _salesService.GetSalesOrderById(id); model.Id = order.Id; model.CustomerId = order.CustomerId; model.PaymentTermId = order.PaymentTermId; model.Date = order.Date; model.Reference = order.ReferenceNo; model.No = order.No; foreach (var line in order.SalesOrderLines) { var lineItem = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); lineItem.Id = line.Id; lineItem.ItemId = line.ItemId; lineItem.ItemNo = line.Item.No; lineItem.ItemDescription = line.Item.Description; lineItem.Measurement = line.Measurement.Description; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Price = line.Amount; model.SalesLine.SalesLineItems.Add(lineItem); } return(View(model)); } }
public ActionResult SalesOrder(int id = 0) { var model = new Models.ViewModels.Sales.SalesHeaderViewModel(_inventoryService, _financialService); model.DocumentType = Core.Domain.DocumentTypes.SalesOrder; if (id == 0) { return View(model); } else { var order = _salesService.GetSalesOrderById(id); model.Id = order.Id; model.CustomerId = order.CustomerId; model.PaymentTermId = order.PaymentTermId; model.Date = order.Date; model.Reference = order.ReferenceNo; model.No = order.No; foreach (var line in order.SalesOrderLines) { var lineItem = new Models.ViewModels.Sales.SalesLineItemViewModel(_financialService); lineItem.Id = line.Id; lineItem.ItemId = line.ItemId; lineItem.ItemNo = line.Item.No; lineItem.ItemDescription = line.Item.Description; lineItem.Measurement = line.Measurement.Description; lineItem.Quantity = line.Quantity; lineItem.Discount = line.Discount; lineItem.Price = line.Amount; model.SalesLine.SalesLineItems.Add(lineItem); } return View(model); } }
public ActionResult AddLineItemDelivery(Models.ViewModels.Sales.SalesHeaderViewModel model) { AddLineItem(model); return(ReturnView(model)); }
public ActionResult DeleteLineItemInvoice(Models.ViewModels.Sales.SalesHeaderViewModel model) { DeleteLineItem(model); return(ReturnView(model)); }