public ActionResult _FilterPost(SaleDeliveryOrderCancelFilterViewModel vm) { List <SaleDeliveryOrderCancelLineViewModel> temp = _SaleDeliveryOrderCancelLineService.GetSaleDeliveryOrderLineForMultiSelect(vm).ToList(); SaleDeliveryOrderCancelMasterDetailModel svm = new SaleDeliveryOrderCancelMasterDetailModel(); svm.SaleDeliveryOrderCancelViewModels = temp; return(PartialView("_Results", svm)); }
public ActionResult _ResultsPost(SaleDeliveryOrderCancelMasterDetailModel vm) { int Serial = _SaleDeliveryOrderCancelLineService.GetMaxSr(vm.SaleDeliveryOrderCancelViewModels.FirstOrDefault().SaleDeliveryOrderCancelHeaderId); Dictionary <int, decimal> LineStatus = new Dictionary <int, decimal>(); var Header = new SaleDeliveryOrderCancelHeaderService(_unitOfWork).Find(vm.SaleDeliveryOrderCancelViewModels.FirstOrDefault().SaleDeliveryOrderCancelHeaderId); bool BeforeSave = true; //try //{ // BeforeSave = SaleDeliveryOrderCancelDocEvents.beforeLineSaveBulkEvent(this, new SaleDeliveryEventArgs(vm.SaleDeliveryOrderCancelViewModels.FirstOrDefault().SaleDeliveryOrderCancelHeaderId), 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.SaleDeliveryOrderCancelViewModels) { decimal balqty = (from p in db.ViewSaleDeliveryOrderBalance where p.SaleDeliveryOrderLineId == item.SaleDeliveryOrderLineId select p.BalanceQty).FirstOrDefault(); if (item.Qty > 0 && item.Qty <= balqty) { SaleDeliveryOrderCancelLine line = new SaleDeliveryOrderCancelLine(); line.SaleDeliveryOrderCancelHeaderId = item.SaleDeliveryOrderCancelHeaderId; line.SaleDeliveryOrderLineId = item.SaleDeliveryOrderLineId; 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.Remark = item.Remark; LineStatus.Add(line.SaleDeliveryOrderLineId, line.Qty); line.ObjectState = Model.ObjectState.Added; db.SaleDeliveryOrderCancelLine.Add(line); //_SaleDeliveryOrderCancelLineService.Create(line); } } if (Header.Status != (int)StatusConstants.Drafted && Header.Status != (int)StatusConstants.Import) { Header.ModifiedBy = User.Identity.Name; Header.ModifiedDate = DateTime.Now; Header.Status = (int)StatusConstants.Modified; Header.ObjectState = Model.ObjectState.Modified; db.SaleDeliveryOrderCancelHeader.Add(Header); } //new SaleDeliveryOrderLineStatusService(_unitOfWork).UpdateSaleDeliveryQtyCancelMultiple(LineStatus, Header.DocDate, ref db); //try //{ // SaleDeliveryOrderCancelDocEvents.onLineSaveBulkEvent(this, new SaleDeliveryEventArgs(vm.SaleDeliveryOrderCancelViewModels.FirstOrDefault().SaleDeliveryOrderCancelHeaderId), 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 //{ // SaleDeliveryOrderCancelDocEvents.afterLineSaveBulkEvent(this, new SaleDeliveryEventArgs(vm.SaleDeliveryOrderCancelViewModels.FirstOrDefault().SaleDeliveryOrderCancelHeaderId), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; //} LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.SaleDeliveryOrderCancelHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }