コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
                        }
                    }
                }
            }
        }