public ActionResult _FilterPost(PurchaseIndentLineFilterViewModel vm) { List <PurchaseIndentLineViewModel> temp = _PurchaseIndentLineService.GetPurchaseIndentForFilters(vm).ToList(); PurchaseIndentMasterDetailModel svm = new PurchaseIndentMasterDetailModel(); svm.PurchaseIndentLineViewModel = temp; return(PartialView("_Results", svm)); }
public ActionResult _ResultsPost(PurchaseIndentMasterDetailModel vm) { int Serial = _PurchaseIndentLineService.GetMaxSr(vm.PurchaseIndentLineViewModel.FirstOrDefault().PurchaseIndentHeaderId); bool BeforeSave = true; try { BeforeSave = PurchaseIndentDocEvents.beforeLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentLineViewModel.FirstOrDefault().PurchaseIndentHeaderId), 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) { PurchaseIndentHeader header = new PurchaseIndentHeaderService(_unitOfWork).Find(vm.PurchaseIndentLineViewModel.FirstOrDefault().PurchaseIndentHeaderId); 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.PurchaseIndentHeader.Add(header); } foreach (var item in vm.PurchaseIndentLineViewModel) { if (item.Qty > 0) { PurchaseIndentLine line = new PurchaseIndentLine(); line.PurchaseIndentHeaderId = item.PurchaseIndentHeaderId; line.MaterialPlanLineId = item.MaterialPlanLineId; line.ProductId = item.ProductId; line.Dimension1Id = item.Dimension1Id; line.Dimension2Id = item.Dimension2Id; line.Specification = item.Specification; line.Remark = item.Remark; line.Qty = item.Qty; line.Sr = Serial++; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.ObjectState = Model.ObjectState.Added; //_PurchaseIndentLineService.Create(line); db.PurchaseIndentLine.Add(line); } } try { PurchaseIndentDocEvents.onLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentLineViewModel.FirstOrDefault().PurchaseIndentHeaderId), 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 { PurchaseIndentDocEvents.afterLineSaveBulkEvent(this, new PurchaseEventArgs(vm.PurchaseIndentLineViewModel.FirstOrDefault().PurchaseIndentHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = header.DocTypeId, DocId = header.PurchaseIndentHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = header.DocNo, DocDate = header.DocDate, DocStatus = header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }