public ActionResult _Create(int Id, DateTime?date, bool?IsProdBased)   //Id ==>Sale Order Header Id
        {
            RecipeHeaderViewModel H = _RecipeHeaderService.GetRecipeHeader(Id);
            RecipeLineViewModel   s = new RecipeLineViewModel();

            s.JobOrderHeaderId = H.JobOrderHeaderId;
            s.StockHeaderId    = (int)H.StockHeaderId;
            s.HeaderTestingQty = H.TestingQty;
            s.HeaderQty        = H.Qty;
            ViewBag.Status     = H.Status;

            LastValues LastValues = _RecipeLineService.GetLastValues(Id);

            if (LastValues != null)
            {
                if (LastValues.DyeingRatio != null)
                {
                    s.DyeingRatio = LastValues.DyeingRatio;
                }
                else
                {
                    s.DyeingRatio = 100;
                }
            }


            PrepareViewBag(s);
            ViewBag.LineMode = "Create";

            return(PartialView("_Create", s));
        }
 private void PrepareViewBag(RecipeLineViewModel vm)
 {
     if (vm != null)
     {
         RecipeHeaderViewModel H = _RecipeHeaderService.GetRecipeHeader(vm.JobOrderHeaderId);
         ViewBag.DocNo = H.DocTypeName + "-" + H.DocNo;
     }
 }
Exemple #3
0
        public HashtagDetailsViewModel(string name, List <RecipeIndex> list)
        {
            this.Name  = name;
            this.Lines = new List <RecipeLineViewModel>();

            foreach (var line in list)
            {
                var viewModelLine = new RecipeLineViewModel(line);

                this.Lines.Add(viewModelLine);
            }
        }
        private ActionResult _Modify(int id)
        {
            RecipeLineViewModel temp = _RecipeLineService.GetStockLine(id);

            RecipeHeaderViewModel H = _RecipeHeaderService.GetRecipeHeader(temp.JobOrderHeaderId);

            temp.HeaderTestingQty = H.TestingQty;
            temp.HeaderQty        = H.Qty;

            //Getting Settings

            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";
            }


            return(PartialView("_Create", temp));
        }
        public void _ResultsPost(int JobOrderHeaderId, int StockLineId, int ProductId, Decimal DyeingRatio, Decimal TestingQty, Decimal DocQty, Decimal?ExcessQty, Decimal Qty, Decimal Rate, Decimal Amount)
        {
            RecipeLineViewModel svm            = new RecipeLineViewModel();
            JobOrderHeader      JobOrderHeader = _RecipeHeaderService.Find(JobOrderHeaderId);
            RecipeLineViewModel RecipeLine     = _RecipeLineService.GetStockLine(StockLineId);



            svm.JobOrderHeaderId = JobOrderHeaderId;
            svm.StockHeaderId    = (int)JobOrderHeader.StockHeaderId;
            svm.ProductId        = ProductId;
            svm.DyeingRatio      = DyeingRatio;
            svm.TestingQty       = TestingQty;
            svm.DocQty           = DocQty;
            svm.ExcessQty        = ExcessQty;
            svm.Qty    = Qty;
            svm.Rate   = Rate;
            svm.Amount = Amount;

            try
            {
                if (JobOrderHeader.StockHeaderId == RecipeLine.StockHeaderId)
                {
                    svm.StockLineId = RecipeLine.StockLineId;
                    _RecipeLineService.Update(svm, User.Identity.Name);
                }
                else
                {
                    _RecipeLineService.Create(svm, User.Identity.Name);
                }
            }

            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                TempData["CSEXCL"] += message;
                PrepareViewBag(svm);
            }
        }
        //[ValidateAntiForgeryToken]
        public ActionResult DeletePost(RecipeLineViewModel vm)
        {
            bool BeforeSave = true;

            if (BeforeSave)
            {
                try
                {
                    _RecipeLineService.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 }));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult _CreatePost(RecipeLineViewModel svm, string BulkMode)
        {
            bool           BeforeSave = true;
            JobOrderHeader temp       = _RecipeHeaderService.Find(svm.JobOrderHeaderId);


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

            if (_RecipeLineService.IsDuplicateLine(svm.StockHeaderId, svm.ProductId, svm.DyeingRatio, svm.StockLineId))
            {
                ModelState.AddModelError("ProductId", "Product is already entered in recipe.");
            }

            ViewBag.Status = temp.Status;


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

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

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

                        return(PartialView("_Create", svm));
                    }

                    return(RedirectToAction("_Create", new { id = svm.JobOrderHeaderId }));
                }


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

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

                    return(Json(new { success = true }));
                }
            }
            PrepareViewBag(svm);
            return(PartialView("_Create", svm));
        }
Exemple #8
0
 public static string GetUrl(HashtagDetailsViewModel item, RecipeLineViewModel recipe)
 {
     return(GetUrl(item.Name, recipe.Name));
 }
        public void Delete(RecipeLineViewModel vm, string UserName)
        {
            int?StockId        = 0;
            int?StockProcessId = 0;
            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockLine   StockLine = Find(vm.StockLineId);
            StockHeader header    = _StockHeaderRepository.Find(StockLine.StockHeaderId);



            StockId        = StockLine.StockId;
            StockProcessId = StockLine.StockProcessId;

            LogList.Add(new LogTypeViewModel
            {
                Obj = Mapper.Map <StockLine>(StockLine),
            });


            _StockLineExtendedService.Delete(StockLine.StockLineId);

            //_RecipeLineService.Delete(StockLine);
            StockLine.ObjectState = Model.ObjectState.Deleted;
            Delete(StockLine);

            if (StockId != null)
            {
                _stockService.DeleteStock((int)StockId);
            }

            if (StockProcessId != null)
            {
                _stockProcessService.DeleteStockProcessDB((int)StockProcessId);
            }



            if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import)
            {
                header.Status       = (int)StatusConstants.Modified;
                header.ModifiedDate = DateTime.Now;
                header.ModifiedBy   = UserName;
                _StockHeaderRepository.Update(header);
            }



            XElement Modifications = _modificationCheck.CheckChanges(LogList);

            _unitOfWork.Save();

            //Saving the Activity Log

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId       = header.DocTypeId,
                DocId           = header.StockHeaderId,
                DocLineId       = StockLine.StockLineId,
                ActivityType    = (int)ActivityTypeContants.Deleted,
                DocNo           = header.DocNo,
                xEModifications = Modifications,
                DocDate         = header.DocDate,
                DocStatus       = header.Status,
            }));
        }
        public void Update(RecipeLineViewModel svm, string UserName)
        {
            StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm);

            StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId);

            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockLine templine = Find(s.StockLineId);

            StockLine ExTempLine = new StockLine();

            ExTempLine = Mapper.Map <StockLine>(templine);

            if (templine.StockId != null)
            {
                StockViewModel StockViewModel = new StockViewModel();
                StockViewModel.StockHeaderId      = temp.StockHeaderId;
                StockViewModel.StockId            = templine.StockId ?? 0;
                StockViewModel.DocHeaderId        = templine.StockHeaderId;
                StockViewModel.DocLineId          = templine.StockLineId;
                StockViewModel.DocTypeId          = temp.DocTypeId;
                StockViewModel.StockHeaderDocDate = temp.DocDate;
                StockViewModel.StockDocDate       = templine.CreatedDate.Date;
                StockViewModel.DocNo              = temp.DocNo;
                StockViewModel.DivisionId         = temp.DivisionId;
                StockViewModel.SiteId             = temp.SiteId;
                StockViewModel.CurrencyId         = null;
                StockViewModel.HeaderProcessId    = temp.ProcessId;
                StockViewModel.PersonId           = temp.PersonId;
                StockViewModel.ProductId          = s.ProductId;
                StockViewModel.HeaderFromGodownId = null;
                StockViewModel.HeaderGodownId     = temp.GodownId;
                StockViewModel.GodownId           = temp.GodownId ?? 0;
                StockViewModel.ProcessId          = templine.FromProcessId;
                StockViewModel.LotNo              = templine.LotNo;
                StockViewModel.CostCenterId       = temp.CostCenterId;
                StockViewModel.Qty_Iss            = s.Qty;
                StockViewModel.Qty_Rec            = 0;
                StockViewModel.Rate          = templine.Rate;
                StockViewModel.ExpiryDate    = null;
                StockViewModel.Specification = templine.Specification;
                StockViewModel.Dimension1Id  = templine.Dimension1Id;
                StockViewModel.Dimension2Id  = templine.Dimension2Id;
                StockViewModel.Remark        = s.Remark;
                StockViewModel.ProductUidId  = s.ProductUidId;
                StockViewModel.Status        = temp.Status;
                StockViewModel.CreatedBy     = templine.CreatedBy;
                StockViewModel.CreatedDate   = templine.CreatedDate;
                StockViewModel.ModifiedBy    = UserName;
                StockViewModel.ModifiedDate  = DateTime.Now;

                string StockPostingError = "";
                StockPostingError = _stockService.StockPostDB(ref StockViewModel);
            }


            if (templine.StockProcessId != null)
            {
                StockProcessViewModel StockProcessViewModel = new StockProcessViewModel();
                StockProcessViewModel.StockHeaderId       = temp.StockHeaderId;
                StockProcessViewModel.StockProcessId      = templine.StockProcessId ?? 0;
                StockProcessViewModel.DocHeaderId         = templine.StockHeaderId;
                StockProcessViewModel.DocLineId           = templine.StockLineId;
                StockProcessViewModel.DocTypeId           = temp.DocTypeId;
                StockProcessViewModel.StockHeaderDocDate  = temp.DocDate;
                StockProcessViewModel.StockProcessDocDate = templine.CreatedDate.Date;
                StockProcessViewModel.DocNo              = temp.DocNo;
                StockProcessViewModel.DivisionId         = temp.DivisionId;
                StockProcessViewModel.SiteId             = temp.SiteId;
                StockProcessViewModel.CurrencyId         = null;
                StockProcessViewModel.HeaderProcessId    = temp.ProcessId;
                StockProcessViewModel.PersonId           = temp.PersonId;
                StockProcessViewModel.ProductId          = s.ProductId;
                StockProcessViewModel.HeaderFromGodownId = null;
                StockProcessViewModel.HeaderGodownId     = temp.GodownId;
                StockProcessViewModel.GodownId           = temp.GodownId ?? 0;
                StockProcessViewModel.ProcessId          = temp.ProcessId;
                StockProcessViewModel.LotNo              = templine.LotNo;
                StockProcessViewModel.CostCenterId       = temp.CostCenterId;
                StockProcessViewModel.Qty_Iss            = 0;
                StockProcessViewModel.Qty_Rec            = s.Qty;
                StockProcessViewModel.Rate          = templine.Rate;
                StockProcessViewModel.ExpiryDate    = null;
                StockProcessViewModel.Specification = templine.Specification;
                StockProcessViewModel.Dimension1Id  = templine.Dimension1Id;
                StockProcessViewModel.Dimension2Id  = templine.Dimension2Id;
                StockProcessViewModel.Remark        = s.Remark;
                StockProcessViewModel.ProductUidId  = s.ProductUidId;
                StockProcessViewModel.Status        = temp.Status;
                StockProcessViewModel.CreatedBy     = templine.CreatedBy;
                StockProcessViewModel.CreatedDate   = templine.CreatedDate;
                StockProcessViewModel.ModifiedBy    = UserName;
                StockProcessViewModel.ModifiedDate  = DateTime.Now;

                string StockProcessPostingError = "";
                StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel);
            }


            templine.ProductId     = s.ProductId;
            templine.ProductUidId  = s.ProductUidId;
            templine.LotNo         = s.LotNo;
            templine.FromProcessId = s.FromProcessId;
            templine.Rate          = s.Rate;
            templine.Amount        = s.Amount;
            templine.Remark        = s.Remark;
            templine.Qty           = s.Qty;
            templine.Remark        = s.Remark;
            templine.Dimension1Id  = s.Dimension1Id;
            templine.Dimension2Id  = s.Dimension2Id;
            templine.Specification = s.Specification;
            templine.ModifiedDate  = DateTime.Now;
            templine.ModifiedBy    = UserName;
            templine.ObjectState   = Model.ObjectState.Modified;
            Update(templine);

            StockLineExtended LineExtended = _StockLineExtendedService.Find(templine.StockLineId);

            LineExtended.StockLineId = templine.StockLineId;
            LineExtended.DyeingRatio = svm.DyeingRatio;
            LineExtended.TestingQty  = svm.TestingQty;
            LineExtended.DocQty      = svm.DocQty;
            LineExtended.ExcessQty   = svm.ExcessQty;
            LineExtended.ObjectState = Model.ObjectState.Modified;
            _StockLineExtendedService.Update(LineExtended);

            int Status = 0;

            if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import)
            {
                Status            = temp.Status;
                temp.Status       = (int)StatusConstants.Modified;
                temp.ModifiedBy   = UserName;
                temp.ModifiedDate = DateTime.Now;
            }

            temp.ObjectState = Model.ObjectState.Modified;
            _StockHeaderRepository.Update(temp);


            LogList.Add(new LogTypeViewModel
            {
                ExObj = ExTempLine,
                Obj   = templine
            });


            XElement Modifications = _modificationCheck.CheckChanges(LogList);

            _unitOfWork.Save();

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId       = temp.DocTypeId,
                DocId           = templine.StockHeaderId,
                DocLineId       = templine.StockLineId,
                ActivityType    = (int)ActivityTypeContants.Modified,
                DocNo           = temp.DocNo,
                xEModifications = Modifications,
                DocDate         = temp.DocDate,
                DocStatus       = temp.Status,
            }));
        }
        public RecipeLineViewModel Create(RecipeLineViewModel svm, string UserName)
        {
            List <LogTypeViewModel> LogList = new List <LogTypeViewModel>();

            StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId);

            StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm);

            StockViewModel        StockViewModel        = new StockViewModel();
            StockProcessViewModel StockProcessViewModel = new StockProcessViewModel();

            //Posting in Stock
            StockViewModel.StockHeaderId      = temp.StockHeaderId;
            StockViewModel.DocHeaderId        = temp.StockHeaderId;
            StockViewModel.DocLineId          = s.StockLineId;
            StockViewModel.DocTypeId          = temp.DocTypeId;
            StockViewModel.StockHeaderDocDate = temp.DocDate;
            StockViewModel.StockDocDate       = DateTime.Now.Date;
            StockViewModel.DocNo              = temp.DocNo;
            StockViewModel.DivisionId         = temp.DivisionId;
            StockViewModel.SiteId             = temp.SiteId;
            StockViewModel.CurrencyId         = null;
            StockViewModel.HeaderProcessId    = null;
            StockViewModel.PersonId           = temp.PersonId;
            StockViewModel.ProductId          = s.ProductId;
            StockViewModel.HeaderFromGodownId = null;
            StockViewModel.HeaderGodownId     = temp.GodownId;
            StockViewModel.GodownId           = temp.GodownId ?? 0;
            StockViewModel.ProcessId          = s.FromProcessId;
            StockViewModel.LotNo              = s.LotNo;
            StockViewModel.CostCenterId       = temp.CostCenterId;
            StockViewModel.Qty_Iss            = s.Qty;
            StockViewModel.Qty_Rec            = 0;
            StockViewModel.Rate          = s.Rate;
            StockViewModel.ExpiryDate    = null;
            StockViewModel.Specification = s.Specification;
            StockViewModel.Dimension1Id  = s.Dimension1Id;
            StockViewModel.Dimension2Id  = s.Dimension2Id;
            StockViewModel.Remark        = s.Remark;
            StockViewModel.ProductUidId  = s.ProductUidId;
            StockViewModel.Status        = temp.Status;
            StockViewModel.CreatedBy     = temp.CreatedBy;
            StockViewModel.CreatedDate   = DateTime.Now;
            StockViewModel.ModifiedBy    = temp.ModifiedBy;
            StockViewModel.ModifiedDate  = DateTime.Now;

            string StockPostingError = "";

            StockPostingError = _stockService.StockPostDB(ref StockViewModel);

            s.StockId = StockViewModel.StockId;

            if (temp.StockHeaderId == null)
            {
                temp.StockHeaderId = StockViewModel.StockHeaderId;
            }


            StockProcessViewModel.StockHeaderId       = (int)temp.StockHeaderId;
            StockProcessViewModel.DocHeaderId         = temp.StockHeaderId;
            StockProcessViewModel.DocLineId           = s.StockLineId;
            StockProcessViewModel.DocTypeId           = temp.DocTypeId;
            StockProcessViewModel.StockHeaderDocDate  = temp.DocDate;
            StockProcessViewModel.StockProcessDocDate = DateTime.Now.Date;
            StockProcessViewModel.DocNo              = temp.DocNo;
            StockProcessViewModel.DivisionId         = temp.DivisionId;
            StockProcessViewModel.SiteId             = temp.SiteId;
            StockProcessViewModel.CurrencyId         = null;
            StockProcessViewModel.HeaderProcessId    = null;
            StockProcessViewModel.PersonId           = temp.PersonId;
            StockProcessViewModel.ProductId          = s.ProductId;
            StockProcessViewModel.HeaderFromGodownId = null;
            StockProcessViewModel.HeaderGodownId     = temp.GodownId ?? 0;
            StockProcessViewModel.GodownId           = temp.GodownId ?? 0;
            StockProcessViewModel.ProcessId          = temp.ProcessId;
            StockProcessViewModel.LotNo              = s.LotNo;
            StockProcessViewModel.CostCenterId       = temp.CostCenterId;
            StockProcessViewModel.Qty_Iss            = 0;
            StockProcessViewModel.Qty_Rec            = s.Qty;
            StockProcessViewModel.Rate          = s.Rate;
            StockProcessViewModel.ExpiryDate    = null;
            StockProcessViewModel.Specification = s.Specification;
            StockProcessViewModel.Dimension1Id  = s.Dimension1Id;
            StockProcessViewModel.Dimension2Id  = s.Dimension2Id;
            StockProcessViewModel.Remark        = s.Remark;
            StockProcessViewModel.Status        = temp.Status;
            StockProcessViewModel.ProductUidId  = s.ProductUidId;
            StockProcessViewModel.CreatedBy     = temp.CreatedBy;
            StockProcessViewModel.CreatedDate   = DateTime.Now;
            StockProcessViewModel.ModifiedBy    = temp.ModifiedBy;
            StockProcessViewModel.ModifiedDate  = DateTime.Now;

            string StockProcessPostingError = "";

            StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel);

            s.StockProcessId = StockProcessViewModel.StockProcessId;



            s.CreatedDate  = DateTime.Now;
            s.ModifiedDate = DateTime.Now;
            s.CreatedBy    = UserName;
            s.Sr           = GetMaxSr(s.StockHeaderId);
            s.ModifiedBy   = UserName;
            s.ObjectState  = Model.ObjectState.Added;


            Create(s);

            StockLineExtended LineExtended = new StockLineExtended();

            LineExtended.StockLineId = s.StockLineId;
            LineExtended.DyeingRatio = svm.DyeingRatio;
            LineExtended.TestingQty  = svm.TestingQty;
            LineExtended.DocQty      = svm.DocQty;
            LineExtended.ExcessQty   = svm.ExcessQty;
            LineExtended.ObjectState = Model.ObjectState.Added;
            _StockLineExtendedService.Create(LineExtended);



            //StockHeader header = new StockHeaderService(_unitOfWork).Find(s.StockHeaderId);
            if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import)
            {
                temp.Status       = (int)StatusConstants.Modified;
                temp.ModifiedDate = DateTime.Now;
                temp.ModifiedBy   = UserName;
            }

            temp.ObjectState = Model.ObjectState.Modified;
            _StockHeaderRepository.Update(temp);


            _unitOfWork.Save();

            svm.StockLineId = s.StockLineId;

            _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
            {
                DocTypeId    = temp.DocTypeId,
                DocId        = temp.StockHeaderId,
                DocLineId    = s.StockLineId,
                ActivityType = (int)ActivityTypeContants.Added,
                DocNo        = temp.DocNo,
                DocDate      = temp.DocDate,
                DocStatus    = temp.Status,
            }));

            return(svm);
        }