public static void DeleteInvoiceDetail(PayableInvoiceDetailModel model) { PayableInvoiceModel invoice = SessionHelper.PayableInvoice; PayableInvoiceDetailModel invoiceDetail = invoice.InvoiceDetail.FirstOrDefault(x => x.Id == model.Id); invoice.InvoiceDetail.Remove(invoiceDetail); }
public static void UpdateInvoiceDetail(PayableInvoiceDetailModel model) { PayableInvoiceModel invoice = SessionHelper.PayableInvoice; invoice.InvoiceDetail.FirstOrDefault(x => x.Id == model.Id).CodeCombinationId = model.CodeCombinationId; invoice.InvoiceDetail.FirstOrDefault(x => x.Id == model.Id).Amount = model.Amount; invoice.InvoiceDetail.FirstOrDefault(x => x.Id == model.Id).Description = model.Description; }
public ActionResult Create() { PayableInvoiceModel model = SessionHelper.PayableInvoice; if (model == null) { model = new PayableInvoiceModel { CompanyId = AuthenticationHelper.CompanyId.Value, InvoiceDetail = new List <PayableInvoiceDetailModel>(), Periods = new List <SelectListItem>(), Vendors = new List <SelectListItem>(), VendorSites = new List <SelectListItem>(), WHTaxes = new List <SelectListItem>(), InvoiceTypes = new List <SelectListItem>(), InvoiceNo = "New", SOBId = SessionHelper.SOBId }; } model.Periods = PayablePeriodHelper.GetPeriodList(SessionHelper.SOBId); if (model.Periods != null && model.Periods.Count() > 0) { model.PeriodId = Convert.ToInt64(model.Periods.FirstOrDefault().Value); SessionHelper.Calendar = CalendarHelper.GetCalendar(model.PeriodId.ToString()); model.InvoiceDate = SessionHelper.Calendar.StartDate; model.InvoiceTypes = InvoiceTypeHelper.GetInvoiceTypes(SessionHelper.SOBId, SessionHelper.Calendar.StartDate, SessionHelper.Calendar.EndDate); if (model.InvoiceTypes != null && model.InvoiceTypes.Count() > 0) { model.InvoiceTypeId = Convert.ToInt64(model.InvoiceTypes.FirstOrDefault().Value); } model.Vendors = VendorHelper.GetVendorList(SessionHelper.Calendar.StartDate, SessionHelper.Calendar.EndDate); if (model.Vendors != null && model.Vendors.Count() > 0) { model.VendorId = Convert.ToInt64(model.Vendors.FirstOrDefault().Value); model.VendorSites = VendorHelper.GetVendorSiteList(model.VendorId); if (model.VendorSites != null && model.VendorSites.Count() > 0) { model.VendorSiteId = Convert.ToInt64(model.VendorSites.FirstOrDefault().Value); model.WHTaxes = WithholdingHelper.GetWithHoldingList(model.VendorId, model.VendorSiteId, SessionHelper.Calendar.StartDate, SessionHelper.Calendar.EndDate); if (model.WHTaxId != null && model.WHTaxes.Count() > 0) { model.WHTaxId = Convert.ToInt64(model.WHTaxes.FirstOrDefault().Value); } } } } SessionHelper.PayableInvoice = model; return(View("Edit", model)); }
public static void Update(PayableInvoiceModel payableInvoiceModel) { PayableInvoice entity = getEntityByModel(payableInvoiceModel); string result = string.Empty; if (entity.IsValid()) { if (payableInvoiceModel.Id > 0) { result = service.Update(entity); } else { result = service.Insert(entity); } if (!string.IsNullOrEmpty(result)) { var savedDetail = getInvoiceDetailByInvoiceId(result); if (savedDetail.Count() > payableInvoiceModel.InvoiceDetail.Count()) { var tobeDeleted = savedDetail.Take(savedDetail.Count() - payableInvoiceModel.InvoiceDetail.Count()); foreach (var item in tobeDeleted) { detailService.Delete(item.Id.ToString(), AuthenticationHelper.CompanyId.Value); } savedDetail = getInvoiceDetailByInvoiceId(result); } foreach (var detail in payableInvoiceModel.InvoiceDetail) { PayableInvoiceDetail detailEntity = getEntityByModel(detail, savedDetail.Count()); if (detailEntity.IsValid()) { detailEntity.InvoiceId = Convert.ToInt64(result); if (savedDetail.Count() > 0) { detailEntity.Id = savedDetail.FirstOrDefault().Id; savedDetail.Remove(savedDetail.FirstOrDefault(rec => rec.Id == detailEntity.Id)); detailService.Update(detailEntity); } else { detailService.Insert(detailEntity); } } } } } }
public ActionResult Edit(string id, long periodId) { PayableInvoiceModel model = PayableInvoiceHelper.GetInvoice(id); SessionHelper.Calendar = CalendarHelper.GetCalendar(PayablePeriodHelper.GetPayablePeriod(periodId.ToString()).CalendarId.ToString()); model.InvoiceDetail = PayableInvoiceHelper.GetInvoiceDetail(id); model.SOBId = SessionHelper.SOBId; model.PeriodId = periodId; model.Periods = PayablePeriodHelper.GetPeriodList(SessionHelper.SOBId); VendorModel vendors = VendorHelper.GetSingle(model.VendorId.ToString()); VendorSiteModel vendorSites = VendorHelper.GetSingle(model.VendorSiteId); InvoiceTypeModel invoiceTypes = InvoiceTypeHelper.GetInvoiceType(model.InvoiceTypeId.ToString()); ///TODO: Plz do the code audit. model.Vendors = new List <SelectListItem>(); model.Vendors.Add(new SelectListItem { Value = vendors.Id.ToString(), Text = vendors.Name }); model.VendorSites = new List <SelectListItem>(); model.VendorSites.Add(new SelectListItem { Value = vendorSites.Id.ToString(), Text = vendorSites.Name }); model.WHTaxes = new List <SelectListItem>(); if (model.WHTaxId != null) { WithholdingModel withHoldingTaxes = WithholdingHelper.GetWithholding(model.WHTaxId.ToString()); model.WHTaxes.Add(new SelectListItem { Value = withHoldingTaxes.Id.ToString(), Text = withHoldingTaxes.Description }); } model.InvoiceTypes = new List <SelectListItem>(); model.InvoiceTypes.Add(new SelectListItem { Value = invoiceTypes.Id.ToString(), Text = invoiceTypes.Description }); SessionHelper.PayableInvoice = model; return(View(model)); }
private static PayableInvoice getEntityByModel(PayableInvoiceModel model) { if (model == null) { return(null); } PayableInvoice entity = new PayableInvoice(); if (model.Id == 0) { entity.CreateBy = AuthenticationHelper.UserId; entity.CreateDate = DateTime.Now; entity.CompanyId = AuthenticationHelper.CompanyId.Value; } else { entity.CreateBy = model.CreateBy; entity.CreateDate = model.CreateDate; entity.CompanyId = model.CompanyId; } entity.Amount = model.Amount; entity.Id = model.Id; entity.InvoiceDate = model.InvoiceDate; entity.InvoiceNo = model.InvoiceNo; entity.InvoiceTypeId = model.InvoiceTypeId; entity.PeriodId = model.PeriodId; entity.Remarks = model.Remarks; entity.SOBId = model.SOBId; entity.Status = model.Status; entity.UpdateBy = model.UpdateBy; entity.UpdateDate = model.UpdateDate; entity.VendorId = model.VendorId; entity.VendorSiteId = model.VendorSiteId; entity.WHTaxId = model.WHTaxId; return(entity); }
public ActionResult DeletePartial(PayableInvoiceDetailModel model) { if (ModelState.IsValid) { try { PayableInvoiceModel invoice = SessionHelper.PayableInvoice; PayableInvoiceHelper.DeleteInvoiceDetail(model); SessionHelper.PayableInvoice = invoice; IList <PayableInvoiceDetailModel> invoiceDetail = PayableInvoiceHelper.GetInvoiceDetail(); return(PartialView("_Detail", invoiceDetail)); } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(PartialView("_Detail")); //return PartialView("_Detail", InvoiceHelper.GetInvoiceDetail()); }
public static void Insert(PayableInvoiceDetailModel model) { PayableInvoiceModel invoice = SessionHelper.PayableInvoice; invoice.InvoiceDetail.Add(model); }