示例#1
0
 private void PrepareViewBag(JobOrderLineViewModel vm)
 {
     ViewBag.DeliveryUnitList = _JobOrderLineService.GetUnitList();
     if (vm != null)
     {
         JobOrderHeaderViewModel H = _jobOrderHeaderService.GetJobOrderHeader(vm.JobOrderHeaderId);
         ViewBag.DocNo = H.DocTypeName + "-" + H.DocNo;
     }
 }
示例#2
0
        private ActionResult _Modify(int id)
        {
            JobOrderLineViewModel temp = _JobOrderLineService.GetJobOrderLine(id);

            JobOrderHeader H = _jobOrderHeaderService.Find(temp.JobOrderHeaderId);

            //Getting Settings
            var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId);

            temp.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings);

            //ViewBag.DocNo = H.DocNo;
            temp.GodownId = H.GodownId;
            if (temp == null)
            {
                return(HttpNotFound());
            }
            PrepareViewBag(temp);

            #region DocTypeTimeLineValidation
            try
            {
                TimePlanValidation = _validator.ValidateDocumentLine(new DocumentUniqueId {
                    LockReason = temp.LockReason
                }, User.Identity.Name, out ExceptionMsg, out Continue);
            }
            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXCL"] += message;
                TimePlanValidation  = false;
            }

            if (!TimePlanValidation)
            {
                TempData["CSEXCL"] += ExceptionMsg;
            }
            #endregion

            if ((TimePlanValidation || Continue))
            {
                ViewBag.LineMode = "Edit";
            }


            if (temp.ProdOrderLineId != null)
            {
                return(PartialView("_CreateForProdOrder", temp));
            }
            else
            {
                return(PartialView("_Create", temp));
            }
        }
示例#3
0
        public ActionResult _Create(int Id, DateTime?date, bool?IsProdBased)   //Id ==>Sale Order Header Id
        {
            JobOrderHeader        H = _jobOrderHeaderService.Find(Id);
            JobOrderLineViewModel s = new JobOrderLineViewModel();

            //Getting Settings
            var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId);

            s.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings);

            var count = _JobOrderLineService.GetJobOrderLineListForIndex(Id).Count();

            if (count > 0)
            {
                s.NonCountedQty = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().NonCountedQty;
                s.LossQty       = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().LossQty;
                s.DealUnitId    = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().DealUnitId;
            }
            else
            {
                s.NonCountedQty = settings.NonCountedQty;
                s.LossQty       = settings.LossQty;
                s.DealUnitId    = settings.DealUnitId;
            }
            s.GodownId           = H.GodownId;
            s.AllowRepeatProcess = false;
            s.JobOrderHeaderId   = H.JobOrderHeaderId;
            ViewBag.Status       = H.Status;
            s.IsProdOrderBased   = IsProdBased ?? true;
            s.DocTypeId          = H.DocTypeId;
            s.SiteId             = H.SiteId;
            s.DivisionId         = H.DivisionId;
            //if (date != null) s.DueDate = date??DateTime.Today;
            PrepareViewBag(s);
            ViewBag.LineMode = "Create";
            //if (!string.IsNullOrEmpty((string)TempData["CSEXCL"]))
            //{
            //    ViewBag.CSEXCL = TempData["CSEXCL"];
            //    TempData["CSEXCL"] = null;
            //}
            if (IsProdBased == true)
            {
                return(PartialView("_CreateForProdOrder", s));
            }
            else
            {
                return(PartialView("_Create", s));
            }
        }
示例#4
0
        //[ValidateAntiForgeryToken]
        public ActionResult DeletePost(JobOrderLineViewModel vm)
        {
            bool BeforeSave = true;

            if (BeforeSave)
            {
                try
                {
                    _JobOrderLineService.Delete(vm, User.Identity.Name);
                }

                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXCL"] += message;
                    PrepareViewBag(vm);
                    ViewBag.LineMode = "Delete";
                    return(PartialView("_Create", vm));
                }
            }

            return(Json(new { success = true }));
        }
示例#5
0
        //[ValidateAntiForgeryToken]
        public ActionResult _CreatePost(JobOrderLineViewModel svm)
        {
            bool           BeforeSave = true;
            JobOrderHeader temp       = _jobOrderHeaderService.Find(svm.JobOrderHeaderId);

            var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(temp.DocTypeId, temp.DivisionId, temp.SiteId);

            if (settings != null)
            {
                if (settings.isVisibleProcessLine == true && settings.isMandatoryProcessLine == true && (svm.FromProcessId <= 0 || svm.FromProcessId == null))
                {
                    ModelState.AddModelError("FromProcessId", "The Process field is required");
                }
                if (settings.isVisibleRate == true && settings.isMandatoryRate == true && svm.Rate <= 0)
                {
                    ModelState.AddModelError("Rate", "The Rate field is required");
                }
                if (settings.isVisibleProductUID == true && settings.isMandatoryProductUID == true && !svm.ProductUidId.HasValue)
                {
                    ModelState.AddModelError("ProductUidIdName", "The ProductUid field is required");
                }
            }


            if (svm.Qty <= 0)
            {
                ModelState.AddModelError("Qty", "The Qty is required");
            }

            if (svm.DealQty <= 0)
            {
                ModelState.AddModelError("DealQty", "DealQty field is required");
            }



            ViewBag.Status = temp.Status;


            if (svm.DueDate != null && temp.DocDate > svm.DueDate)
            {
                ModelState.AddModelError("DueDate", "Duedate should be greater than Docdate");
            }

            if (svm.JobOrderLineId <= 0)
            {
                ViewBag.LineMode = "Create";
            }
            else
            {
                ViewBag.LineMode = "Edit";
            }

            if (ModelState.IsValid && BeforeSave)
            {
                if (svm.JobOrderLineId <= 0)
                {
                    try
                    {
                        _JobOrderLineService.Create(svm, User.Identity.Name);
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXCL"] += message;
                        PrepareViewBag(svm);

                        if (svm.ProdOrderLineId != null)
                        {
                            return(PartialView("_CreateForProdOrder", svm));
                        }
                        else
                        {
                            return(PartialView("_Create", svm));
                        }
                    }

                    return(RedirectToAction("_Create", new { id = svm.JobOrderHeaderId, IsProdBased = (svm.ProdOrderLineId == null ? false : true) }));
                }


                else
                {
                    try
                    {
                        _JobOrderLineService.Update(svm, User.Identity.Name);
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        TempData["CSEXCL"] += message;
                        PrepareViewBag(svm);
                        if (svm.ProdOrderLineId != null)
                        {
                            return(PartialView("_CreateForProdOrder", svm));
                        }
                        else
                        {
                            return(PartialView("_Create", svm));
                        }
                    }

                    return(Json(new { success = true }));
                }
            }
            PrepareViewBag(svm);
            if (svm.ProdOrderLineId != null)
            {
                return(PartialView("_CreateForProdOrder", svm));
            }
            else
            {
                return(PartialView("_Create", svm));
            }
        }