public ActionResult Edit(int Id) { try { ViewBag.CustomerList = new SelectList(from customers in db.Customer.ToList().Where(c => c.Status == true) select customers, "Id", "CustomerName", 0); var invoiceVm = new InvoiceViewModel(); var partForInvoiceVmList = new List <PartsForInvoiceViewModel>(); var partForInvoiceVm = new PartsForInvoiceViewModel(); var invoice = db.Invoice.ToList().Find(inv => inv.Id == Id); if (invoice == null) { return(RedirectToAction("Index")); } invoiceVm.Customer = new Customer(); invoiceVm.Customer = db.Customer.ToList().Find(cus => cus.Id == invoice.CustomerId); invoiceVm.InvoiceDate = invoice.InvoiceDate.ToString("dd/MM/yyyy"); invoiceVm.InvoiceNumber = invoice.InvoiceNumber; invoiceVm.Status = invoice.Status; return(View(invoiceVm)); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> Edit[GET]: " + ex.Message); throw; } }
public virtual ActionResult AddPartToInvoice() { try { ViewBag.CustomerList = new SelectList(from customers in db.Customer.ToList().Where(c => c.Status == true) select customers, "Id", "CustomerName", 0); ViewBag.VendorList = new SelectList(from vendors in db.Vendors.ToList().Where(v => v.Status == true) select vendors, "Id", "VenderName", 0); ViewBag.ItemTypeList = new SelectList(from itemType in db.ItemType.ToList().Where(it => it.Status == true) select itemType, "Id", "ItemTypeName", 0); ViewBag.ExpirationPeriodList = new SelectList(from expirationPeriod in db.ExpirationPeriod.ToList().Where(ep => ep.Status == true) select expirationPeriod, "Id", "ExpirationPeriodName", 0); ViewBag.SupplierList = new SelectList(from suppliers in db.Supplier.ToList().Where(s => s.Status == true) select suppliers, "Id", "SupplierName", 0); var partsForInvoice = new PartsForInvoiceViewModel(); Session["InvoiceIdForPart"] = Session["InvoiceId"]; return(View(partsForInvoice)); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> AddPartToInvoice: " + ex.Message); throw; } }
public ActionResult ListPartsForInvoice(int id) { try { var partsForInvoice = db.PartsForInvoice.ToList().Where(m => m.Invoice.Id == id && m.Status == true); var partsForInvoiceVmList = new List <PartsForInvoiceViewModel>(); ViewBag.InvoiceId = id; Session["InvoiceId"] = id; foreach (var item in partsForInvoice) { var partsForInvoiceVm = new PartsForInvoiceViewModel(); partsForInvoiceVm.Description = item.Description; partsForInvoiceVm.EndDate = item.EndDate.ToString("dd/MM/yyyy"); partsForInvoiceVm.ExpirationPeriod = new ExpirationPeriod(); partsForInvoiceVm.ExpirationPeriodId = item.ExpirationPeriodId; partsForInvoiceVm.ExpirationPeriod = db.ExpirationPeriod.ToList().Find(m => m.Id == item.ExpirationPeriodId); partsForInvoiceVm.InvoiceId = id; partsForInvoiceVm.ItemTypeId = item.ItemTypeId; partsForInvoiceVm.ItemType = new ItemType(); partsForInvoiceVm.ItemType = db.ItemType.ToList().Find(itm => itm.Id == item.ItemTypeId); partsForInvoiceVm.PartNumber = item.PartNumber; partsForInvoiceVm.Quantity = item.Quantity; partsForInvoiceVm.SerialNumber = item.SerialNumber; partsForInvoiceVm.StartingDate = item.StartingDate.ToString("dd/MM/yyyy"); partsForInvoiceVm.Status = item.Status; partsForInvoiceVm.SupplierId = item.Supplier.Id; partsForInvoiceVm.Supplier = item.Supplier; partsForInvoiceVm.VendorId = item.VendorId; partsForInvoiceVm.Vendor = new Vendors(); partsForInvoiceVm.Vendor = db.Vendors.ToList().Find(ven => ven.Id == item.VendorId); partsForInvoiceVm.Id = item.Id; partsForInvoiceVmList.Add(partsForInvoiceVm); } return(View(partsForInvoiceVmList)); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> ListPartsForInvoice[GET]: " + ex.Message); throw; } }
// GET: Report public ActionResult ExpiredParts() { var expiredParts = from prts in db.PartsForInvoice.ToList() join inv in db.Invoice.ToList() on prts.Invoice_Id equals inv.Id where (prts.EndDate <= DateTime.Now) select prts; var partsForList = new List <PartsForInvoiceViewModel>(); foreach (var item in expiredParts) { var partsForInvoice = new PartsForInvoiceViewModel(); partsForInvoice.Invoice = db.Invoice.Where(i => i.Id == item.Invoice_Id).FirstOrDefault(); partsForInvoice.PartNumber = item.PartNumber; partsForInvoice.EndDate = item.EndDate.ToString("dd/MM/yyyy"); partsForList.Add(partsForInvoice); } return(View(partsForList)); }
public ActionResult EditPart(string id) { try { ViewBag.CustomerList = new SelectList(from customers in db.Customer.ToList().Where(c => c.Status == true) select customers, "Id", "CustomerName", 0); ViewBag.VendorList = new SelectList(from vendors in db.Vendors.ToList().Where(v => v.Status == true) select vendors, "Id", "VenderName", 0); ViewBag.ItemTypeList = new SelectList(from itemType in db.ItemType.ToList().Where(it => it.Status == true) select itemType, "Id", "ItemTypeName", 0); ViewBag.ExpirationPeriodList = new SelectList(from expirationPeriod in db.ExpirationPeriod.ToList().Where(ep => ep.Status == true) select expirationPeriod, "Id", "ExpirationPeriodName", 0); ViewBag.SupplierList = new SelectList(from suppliers in db.Supplier.ToList().Where(s => s.Status == true) select suppliers, "Id", "SupplierName", 0); var partsForInvoice = db.PartsForInvoice.ToList().Where(m => m.Id == id).FirstOrDefault(); var partsForInvoiceVm = new PartsForInvoiceViewModel(); partsForInvoiceVm.Description = partsForInvoice.Description; partsForInvoiceVm.EndDate = partsForInvoice.EndDate.ToString("dd/MM/yyyy"); partsForInvoiceVm.ExpirationPeriod = new ExpirationPeriod(); partsForInvoiceVm.ExpirationPeriodId = partsForInvoice.ExpirationPeriodId; partsForInvoiceVm.ExpirationPeriod = db.ExpirationPeriod.ToList().Find(m => m.Id == partsForInvoice.ExpirationPeriodId); partsForInvoiceVm.InvoiceId = partsForInvoice.Invoice.Id; partsForInvoiceVm.ItemTypeId = partsForInvoice.ItemTypeId; partsForInvoiceVm.ItemType = new ItemType(); partsForInvoiceVm.ItemType = db.ItemType.ToList().Find(itm => itm.Id == partsForInvoice.ItemTypeId); partsForInvoiceVm.PartNumber = partsForInvoice.PartNumber; partsForInvoiceVm.Quantity = partsForInvoice.Quantity; partsForInvoiceVm.SerialNumber = partsForInvoice.SerialNumber; partsForInvoiceVm.StartingDate = partsForInvoice.StartingDate.ToString("dd/MM/yyyy"); partsForInvoiceVm.Status = partsForInvoice.Status; partsForInvoiceVm.SupplierId = partsForInvoice.Supplier.Id; partsForInvoiceVm.Supplier = partsForInvoice.Supplier; partsForInvoiceVm.VendorId = partsForInvoice.VendorId; partsForInvoiceVm.Vendor = new Vendors(); partsForInvoiceVm.Vendor = db.Vendors.ToList().Find(ven => ven.Id == partsForInvoice.VendorId); partsForInvoiceVm.Id = partsForInvoice.Id; return(View(partsForInvoiceVm)); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> EditPart[GET]: " + ex.Message); throw; } }
public virtual ActionResult AddPartToInvoice(PartsForInvoiceViewModel partsForInvoiceVm) { try { var invoiceId = Int32.Parse(Session["InvoiceIdForPart"].ToString()); var invoiceToUpdate = db.Invoice.ToList().Find(inv => inv.Id == invoiceId); var partlist = new List <PartsForInvoice>(); var part = new PartsForInvoice(); part.Description = partsForInvoiceVm.Description; part.EndDate = DateTime.ParseExact(partsForInvoiceVm.EndDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); part.ExpirationPeriodId = partsForInvoiceVm.ExpirationPeriod.Id; part.ItemTypeId = partsForInvoiceVm.ItemType.Id; part.PartNumber = partsForInvoiceVm.PartNumber; part.Quantity = partsForInvoiceVm.Quantity; part.SerialNumber = partsForInvoiceVm.SerialNumber; part.StartingDate = DateTime.ParseExact(partsForInvoiceVm.StartingDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); part.Status = partsForInvoiceVm.Status; part.SupplierId = partsForInvoiceVm.Supplier.Id; part.UserName = WebSecurity.CurrentUserName; part.VendorId = partsForInvoiceVm.Vendor.Id; part.Id = Guid.NewGuid().ToString(); part.Invoice = new Invoice(); part.Invoice = invoiceToUpdate; part.Invoice_Id = Int32.Parse(Session["InvoiceIdForPart"].ToString()); //partlist.Add(part); //invoiceToUpdate.PartsForInvoice.Add(part); TryUpdateModel(part, "test", new string[] { "Invoice_Id,Description,EndDate,ExpirationPeriodId,ItemTypeId,PartNumber,Quantity,SerialNumber,StartingDate,Status,SupplierId,UserName,VendorId" }, new string[] { "Invoice" }); db.PartsForInvoice.Add(part); db.Entry(invoiceToUpdate).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); return(RedirectToAction("ListPartsForInvoice", new { Id = partsForInvoiceVm.InvoiceId })); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> AddPartToInvoice[POST]: " + ex.Message); throw; } }
public ActionResult EditPart(PartsForInvoiceViewModel partsForInvoiceVm) { try { if (!ModelState.IsValid) { TempData["Message"] = "Failure in invoice edit action. Check for following issues." + string.Join(" , ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage)); TempData["MessageType"] = "alert-danger"; return(RedirectToAction("Index")); } var part = new PartsForInvoice(); part.Description = partsForInvoiceVm.Description; part.EndDate = DateTime.ParseExact(partsForInvoiceVm.EndDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); part.ExpirationPeriodId = partsForInvoiceVm.ExpirationPeriod.Id; part.ItemTypeId = partsForInvoiceVm.ItemType.Id; part.PartNumber = partsForInvoiceVm.PartNumber; part.Quantity = partsForInvoiceVm.Quantity; part.SerialNumber = partsForInvoiceVm.SerialNumber; part.StartingDate = DateTime.ParseExact(partsForInvoiceVm.StartingDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); part.Status = partsForInvoiceVm.Status; part.SupplierId = partsForInvoiceVm.Supplier.Id; part.UserName = WebSecurity.CurrentUserName; part.VendorId = partsForInvoiceVm.Vendor.Id; part.Id = partsForInvoiceVm.Id; part.Invoice_Id = partsForInvoiceVm.InvoiceId; TryUpdateModel(part, "Description,EndDate,ExpirationPeriodId,ItemTypeId,PartNumber,Quantity,SerialNumber,StartingDate,Status,SupplierId,UserName,VendorId"); db.PartsForInvoice.Add(part); db.Entry(part).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); TempData["Message"] = "Parts details are updated successfully."; TempData["MessageType"] = "alert-success"; return(RedirectToAction("ListPartsForInvoice", new { Id = partsForInvoiceVm.InvoiceId })); } catch (Exception ex) { logger.Log(LogLevel.Error, "Exception occurred in Invoice -> EditPart[HttpPost]: " + ex.Message); throw; } }