Esempio n. 1
0
        public ActionResult _FilterPost(ProdOrderCancelFilterViewModel vm)
        {
            List <ProdOrderCancelLineViewModel> temp = _ProdOrderCancelLineService.GetProdOrderLineForMultiSelect(vm).ToList();
            ProdOrderCancelMasterDetailModel    svm  = new ProdOrderCancelMasterDetailModel();

            svm.ProdOrderCancelViewModels = temp;
            return(PartialView("_Results", svm));
        }
Esempio n. 2
0
        public ActionResult _ResultsPost(ProdOrderCancelMasterDetailModel vm)
        {
            Dictionary <int, decimal> LineStatus = new Dictionary <int, decimal>();
            var Header = new ProdOrderCancelHeaderService(_unitOfWork).Find(vm.ProdOrderCancelViewModels.FirstOrDefault().ProdOrderCancelHeaderId);

            if (ModelState.IsValid)
            {
                foreach (var item in vm.ProdOrderCancelViewModels)
                {
                    decimal balqty = (from p in db.ViewProdOrderBalance
                                      where p.ProdOrderLineId == item.ProdOrderLineId
                                      select p.BalanceQty).FirstOrDefault();

                    if (item.Qty > 0 && item.Qty <= balqty)
                    {
                        ProdOrderCancelLine line = new ProdOrderCancelLine();

                        line.ProdOrderCancelHeaderId = item.ProdOrderCancelHeaderId;
                        line.ProdOrderLineId         = item.ProdOrderLineId;
                        line.Qty          = item.Qty;
                        line.CreatedDate  = DateTime.Now;
                        line.ModifiedDate = DateTime.Now;
                        line.CreatedBy    = User.Identity.Name;
                        line.ModifiedBy   = User.Identity.Name;
                        LineStatus.Add(line.ProdOrderLineId, line.Qty);
                        _ProdOrderCancelLineService.Create(line);
                    }
                }

                new ProdOrderLineStatusService(_unitOfWork).UpdateProdQtyCancelMultiple(LineStatus, Header.DocDate);

                if (Header.Status != (int)StatusConstants.Drafted && Header.Status != (int)StatusConstants.Import)
                {
                    Header.Status       = (int)StatusConstants.Modified;
                    Header.ModifiedBy   = User.Identity.Name;
                    Header.ModifiedDate = DateTime.Now;
                    Header.ObjectState  = Model.ObjectState.Modified;
                }

                new ProdOrderCancelHeaderService(_unitOfWork).Update(Header);

                try
                {
                    _unitOfWork.Save();
                }
                catch (Exception ex)
                {
                    string message = _exception.HandleException(ex);
                    TempData["CSEXCL"] += message;
                    return(PartialView("_Results", vm));
                }

                LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel
                {
                    DocTypeId    = Header.DocTypeId,
                    DocId        = Header.ProdOrderCancelHeaderId,
                    ActivityType = (int)ActivityTypeContants.MultipleCreate,
                    DocNo        = Header.DocNo,
                    DocDate      = Header.DocDate,
                    DocStatus    = Header.Status,
                }));

                return(Json(new { success = true }));
            }
            return(PartialView("_Results", vm));
        }