public ActionResult _FilterPost(RequisitionCancelFilterViewModel vm) { List <RequisitionCancelLineViewModel> temp = _RequisitionCancelLineService.GetRequisitionLineForOrders(vm).ToList(); RequisitionCancelListModel svm = new RequisitionCancelListModel(); svm.RequisitionCancelViewModels = temp; return(PartialView("_Results", svm)); }
public ActionResult _ResultsPost(RequisitionCancelListModel vm) { Dictionary <int, decimal> LineStatus = new Dictionary <int, decimal>(); var Header = new RequisitionCancelHeaderService(_unitOfWork).Find(vm.RequisitionCancelViewModels.FirstOrDefault().RequisitionCancelHeaderId); bool BeforeSave = true; try { BeforeSave = MaterialRequestCancelDocEvents.beforeLineSaveBulkEvent(this, new StockEventArgs(vm.RequisitionCancelViewModels.FirstOrDefault().RequisitionCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { ModelState.AddModelError("", "Validation failed before save"); } if (ModelState.IsValid && BeforeSave && !EventException) { foreach (var item in vm.RequisitionCancelViewModels) { decimal balqty = (from p in db.ViewRequisitionBalance where p.RequisitionLineId == item.RequisitionLineId select p.BalanceQty).FirstOrDefault(); if (item.Qty > 0 && item.Qty <= balqty) { RequisitionCancelLine line = new RequisitionCancelLine(); line.RequisitionCancelHeaderId = item.RequisitionCancelHeaderId; line.RequisitionLineId = item.RequisitionLineId; 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.Remark; LineStatus.Add(line.RequisitionLineId, line.Qty); //_RequisitionCancelLineService.Create(line); line.ObjectState = Model.ObjectState.Added; db.RequisitionCancelLine.Add(line); } } new RequisitionLineStatusService(_unitOfWork).UpdateRequisitionQtyCancelMultiple(LineStatus, Header.DocDate, ref db); try { MaterialRequestCancelDocEvents.onLineSaveBulkEvent(this, new StockEventArgs(vm.RequisitionCancelViewModels.FirstOrDefault().RequisitionCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; EventException = true; } try { if (EventException) { throw new Exception(); } db.SaveChanges(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; return(PartialView("_Results", vm)); } try { MaterialRequestCancelDocEvents.afterLineSaveBulkEvent(this, new StockEventArgs(vm.RequisitionCancelViewModels.FirstOrDefault().RequisitionCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.RequisitionCancelHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }