public ActionResult _FilterPost(SaleOrderCancelFilterViewModel vm) { List <SaleOrderCancelLineViewModel> temp = _SaleOrderCancelLineService.GetSaleOrderLineForMultiSelect(vm).ToList(); SaleOrderCancelMasterDetailModel svm = new SaleOrderCancelMasterDetailModel(); svm.SaleOrderCancelViewModels = temp; return(PartialView("_Results", svm)); }
public ActionResult CompleteSaleOrderCancelLine(SaleOrderCancelMasterDetailModel vm) { int SaleOrderCancelHeaderId = 0; if (ModelState.IsValid) { foreach (var item in vm.SaleOrderCancelViewModels) { decimal balqty = (from p in db.ViewSaleOrderBalanceForCancellation where p.SaleOrderLineId == item.SaleOrderLineId select p.BalanceQty).FirstOrDefault(); if (balqty < item.Qty) { return(View(vm).Danger("Qty Exceeding Bal Qty")); } if (item.Qty > 0) { SaleOrderCancelLine line = new SaleOrderCancelLine(); line.SaleOrderCancelHeaderId = item.SaleOrderCancelHeaderId; line.SaleOrderLineId = item.SaleOrderLineId ?? 0; line.Qty = item.Qty; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.Remark = item.LineRemark; _SaleOrderCancelLineService.Create(line); } SaleOrderCancelHeaderId = item.SaleOrderCancelHeaderId; } //_unitOfWork.Save(); SaleOrderCancelHeader header = new SaleOrderCancelHeaderService(_unitOfWork).Find(SaleOrderCancelHeaderId); if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import) { header.Status = (int)StatusConstants.Submitted; header.ModifiedBy = User.Identity.Name; header.ModifiedDate = DateTime.Now; } //Activity Log ActivityLog al = new ActivityLog() { ActivityType = (int)StatusConstants.Submitted, DocId = header.SaleOrderCancelHeaderId, UserRemark = header.Remark, Narration = "Sale Order Cancel Submitted with Cancel no:" + header.DocNo, CreatedDate = DateTime.Now, CreatedBy = User.Identity.Name, DocTypeId = header.DocTypeId, }; new SaleOrderCancelHeaderService(_unitOfWork).Update(header); _ActivityLogService.Create(al); _unitOfWork.Save(); return(RedirectToActionPermanent("Index", "SaleOrderCancelHeader")); } return(View(vm)); }
public ActionResult _ResultsPost(SaleOrderCancelMasterDetailModel vm) { Dictionary <int, decimal> LineStatus = new Dictionary <int, decimal>(); var Header = new SaleOrderCancelHeaderService(_unitOfWork).Find(vm.SaleOrderCancelViewModels.FirstOrDefault().SaleOrderCancelHeaderId); if (ModelState.IsValid) { foreach (var item in vm.SaleOrderCancelViewModels) { decimal balqty = (from p in db.ViewSaleOrderBalanceForCancellation where p.SaleOrderLineId == item.SaleOrderLineId select p.BalanceQty).FirstOrDefault(); if (balqty < item.Qty) { return(View("_Results", vm).Danger("Qty Exceeding Bal Qty")); } if (item.Qty > 0) { SaleOrderCancelLine line = new SaleOrderCancelLine(); line.SaleOrderCancelHeaderId = item.SaleOrderCancelHeaderId; line.SaleOrderLineId = item.SaleOrderLineId ?? 0; line.Qty = item.Qty; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.Remark = item.LineRemark; LineStatus.Add(line.SaleOrderLineId, line.Qty); _SaleOrderCancelLineService.Create(line); } } if (Header.Status != (int)StatusConstants.Drafted && Header.Status != (int)StatusConstants.Import) { Header.Status = (int)StatusConstants.Modified; Header.ObjectState = Model.ObjectState.Modified; new SaleOrderCancelHeaderService(_unitOfWork).Update(Header); } new SaleOrderLineStatusService(_unitOfWork).UpdateSaleQtyCancelMultiple(LineStatus, Header.DocDate); 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.SaleOrderCancelHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }