private RFQ getEntityByModel(RFQModel model) { if (model == null) return null; RFQ entity = new RFQ(); entity.BuyerId = model.BuyerId; entity.CloseDate = model.CloseDate; entity.Id = model.Id; entity.RFQDate = model.RFQDate; entity.RFQNo = model.RFQNo; entity.SOBId = SessionHelper.SOBId; entity.Status = model.Status; 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.UpdateBy = AuthenticationHelper.UserId; entity.UpdateDate = DateTime.Now; return entity; }
private string generateRFQNo(RFQModel model) { var currentDocument = service.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId).OrderByDescending(rec => rec.Id).FirstOrDefault(); string newDocNo = ""; if (currentDocument != null) { int outVal; bool isNumeric = int.TryParse(currentDocument.RFQNo, out outVal); if (isNumeric && currentDocument.RFQNo.Length == 8) { newDocNo = (int.Parse(currentDocument.RFQNo) + 1).ToString(); return newDocNo; } } //Create New DocNum.. string yearDigit = model.RFQDate.ToString("yy"); string monthDigit = model.RFQDate.ToString("MM"); string docNo = int.Parse("1").ToString().PadLeft(4, '0'); return yearDigit + monthDigit + docNo; }
public ActionResult Create() { RFQModel model = SessionHelper.RFQ; if (model == null) { model = new RFQModel { CompanyId = AuthenticationHelper.CompanyId.Value, RFQDate = DateTime.Now, RFQDetail = new List<RFQDetailModel>(), RFQNo = "New" }; SessionHelper.RFQ = model; } model.Buyers = buyerService.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, model.RFQDate, model.RFQDate) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (model.Buyers != null && model.Buyers.Count > 0) { model.BuyerId = model.BuyerId > 0 ? model.BuyerId : Convert.ToInt64(model.Buyers.FirstOrDefault().Value); } return View("Edit", model); }
public ActionResult CheckDate(DateTime rfqDate) { if (rfqDate < DateTime.Now.Date) return Json("RFQ Date cannot be the past date!."); RFQModel rfq = new RFQModel(); rfq.Buyers = buyerService.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, rfq.RFQDate, rfq.RFQDate) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (rfq.Buyers != null && rfq.Buyers.Count > 0) { rfq.BuyerId = rfq.BuyerId > 0 ? rfq.BuyerId : Convert.ToInt64(rfq.Buyers.FirstOrDefault().Value); } return Json(rfq); }
public ActionResult Edit(string id) { RFQModel model = new RFQModel(service.GetSingle(id, AuthenticationHelper.CompanyId.Value)); model.RFQDetail = service.GetAllRFQDetail(Convert.ToInt64(id)).Select(x => new RFQDetailModel(x)).ToList(); SessionHelper.RFQ = model; model.Buyers = buyerService.GetAll(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, model.RFQDate, model.RFQDate) .Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (model.Buyers != null && model.Buyers.Count > 0) { model.BuyerId = model.BuyerId > 0 ? model.BuyerId : Convert.ToInt64(model.Buyers.FirstOrDefault().Value); } return View("Edit", model); }
private void Save(RFQModel model) { RFQ entity = getEntityByModel(model); string result = string.Empty; if (entity.IsValid()) { if (model.Id > 0) result = service.Update(entity); else result = service.Insert(entity); if (!string.IsNullOrEmpty(result)) { //var savedLines = getDetailByOrderId(Convert.ToInt64(result)); IList<RFQDetailModel> savedLines = service.GetAllRFQDetail(Convert.ToInt64(result)).Select(x => new RFQDetailModel(x)).ToList(); if (savedLines.Count() > model.RFQDetail.Count()) { var tobeDeleted = savedLines.Take(savedLines.Count() - model.RFQDetail.Count()); foreach (var item in tobeDeleted) { service.DeleteRFQDetail(item.Id); } savedLines = service.GetAllRFQDetail(Convert.ToInt64(result)).Select(x => new RFQDetailModel(x)).ToList(); } foreach (var detail in model.RFQDetail) { RFQDetail detailEntity = getEntityByModel(detail); if (detailEntity.IsValid()) { detailEntity.RFQId = Convert.ToInt64(result); if (savedLines.Count() > 0) { detailEntity.Id = savedLines.FirstOrDefault().Id; savedLines.Remove(savedLines.FirstOrDefault(rec => rec.Id == detailEntity.Id)); service.UpdateRFQDetail(detailEntity); } else service.InsertRFQDetail(detailEntity); } } } } }