public ActionResult _FilterPost(PurchaseIndentCancelFilterViewModel vm) { List <PurchaseIndentCancelLineViewModel> temp = _PurchaseIndentCancelLineService.GetPurchaseIndentLineForMultiSelect(vm).ToList(); PurchaseIndentCancelMasterDetailModel svm = new PurchaseIndentCancelMasterDetailModel(); svm.PurchaseIndentCancelViewModels = temp; return(PartialView("_Results", svm)); }
public ActionResult _ResultsPost(PurchaseIndentCancelMasterDetailModel vm) { int Serial = _PurchaseIndentCancelLineService.GetMaxSr(vm.PurchaseIndentCancelViewModels.FirstOrDefault().PurchaseIndentCancelHeaderId); bool BeforeSave = true; try { BeforeSave = PurchaseIndentCancelDocEvents.beforeLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentCancelViewModels.FirstOrDefault().PurchaseIndentCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; EventException = true; } if (!BeforeSave) { ModelState.AddModelError("", "Validation failed before save"); } if (ModelState.IsValid && BeforeSave && !EventException) { foreach (var item in vm.PurchaseIndentCancelViewModels) { decimal balqty = (from p in db.ViewPurchaseIndentBalance where p.PurchaseIndentLineId == item.PurchaseIndentLineId select p.BalanceQty).FirstOrDefault(); if (balqty < item.Qty) { ModelState.AddModelError("", "Qty Exceeding Balance Qty"); return(PartialView("_Results", vm)); } if (item.Qty > 0) { PurchaseIndentCancelLine line = new PurchaseIndentCancelLine(); line.PurchaseIndentCancelHeaderId = item.PurchaseIndentCancelHeaderId; line.PurchaseIndentLineId = item.PurchaseIndentLineId; line.Qty = item.Qty; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.ObjectState = Model.ObjectState.Added; db.PurchaseIndentCancelLine.Add(line); //_PurchaseIndentCancelLineService.Create(line); } } PurchaseIndentCancelHeader Header = db.PurchaseIndentCancelHeader.Find(vm.PurchaseIndentCancelViewModels.FirstOrDefault().PurchaseIndentCancelHeaderId); 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; db.PurchaseIndentCancelHeader.Add(Header); } try { PurchaseIndentCancelDocEvents.onLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentCancelViewModels.FirstOrDefault().PurchaseIndentCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; EventException = true; } try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; return(PartialView("_Results", vm)); } try { PurchaseIndentCancelDocEvents.afterLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentCancelViewModels.FirstOrDefault().PurchaseIndentCancelHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.PurchaseIndentCancelHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }