private ActionResult _Delete(int id) { SaleDispatchReturnLineViewModel temp = _SaleDispatchReturnLineService.GetSaleDispatchReturnLine(id); if (temp == null) { return(HttpNotFound()); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocumentLine(new DocumentUniqueId { LockReason = temp.LockReason }, User.Identity.Name, out ExceptionMsg, out Continue); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; TimePlanValidation = false; } if (!TimePlanValidation) { TempData["CSEXCL"] += ExceptionMsg; } #endregion if ((TimePlanValidation || Continue)) { ViewBag.LineMode = "Delete"; } PrepareViewBag(temp); SaleDispatchReturnHeader H = new SaleDispatchReturnHeaderService(_unitOfWork).Find(temp.SaleDispatchReturnHeaderId); //Getting Settings var settings = new SaleDispatchSettingService(_unitOfWork).GetSaleDispatchSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.SaleDispatchSettings = Mapper.Map <SaleDispatchSetting, SaleDispatchSettingsViewModel>(settings); return(PartialView("_Create", temp)); }
public ActionResult _Detail(int id) { SaleDispatchReturnLineViewModel temp = _SaleDispatchReturnLineService.GetSaleDispatchReturnLine(id); if (temp == null) { return(HttpNotFound()); } PrepareViewBag(temp); SaleDispatchReturnHeader H = new SaleDispatchReturnHeaderService(_unitOfWork).Find(temp.SaleDispatchReturnHeaderId); //Getting Settings var settings = new SaleDispatchSettingService(_unitOfWork).GetSaleDispatchSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.SaleDispatchSettings = Mapper.Map <SaleDispatchSetting, SaleDispatchSettingsViewModel>(settings); return(PartialView("_Create", temp)); }
public ActionResult _Create(int Id, int sid) //Id ==>Sale Order Header Id { SaleDispatchReturnHeader H = new SaleDispatchReturnHeaderService(_unitOfWork).Find(Id); SaleDispatchReturnLineViewModel s = new SaleDispatchReturnLineViewModel(); //Getting Settings var settings = new SaleDispatchSettingService(_unitOfWork).GetSaleDispatchSettingForDocument(H.DocTypeId, H.DivisionId, H.SiteId); s.SaleDispatchSettings = Mapper.Map <SaleDispatchSetting, SaleDispatchSettingsViewModel>(settings); s.SaleDispatchReturnHeaderId = H.SaleDispatchReturnHeaderId; s.SaleDispatchReturnHeaderDocNo = H.DocNo; s.GodownId = H.GodownId; s.BuyerId = sid; ViewBag.LineMode = "Create"; //PrepareViewBag(null); return(PartialView("_Create", s)); }
public ActionResult DeletePost(SaleDispatchReturnLineViewModel vm) { bool BeforeSave = true; //try //{ // BeforeSave = SaleDispatchReturnDocEvents.beforeLineDeleteEvent(this, new SaleEventArgs(vm.SaleDispatchReturnHeaderId, vm.SaleDispatchReturnLineId), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; // EventException = true; //} //if (!BeforeSave) // TempData["CSEXC"] += "Validation failed before delete."; if (BeforeSave && !EventException) { int?StockId = 0; List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleDispatchReturnLine SaleDispatchReturnLine = db.SaleDispatchReturnLine.Find(vm.SaleDispatchReturnLineId); SaleDispatchReturnHeader header = new SaleDispatchReturnHeaderService(_unitOfWork).Find(SaleDispatchReturnLine.SaleDispatchReturnHeaderId); //try //{ // SaleDispatchReturnDocEvents.onLineDeleteEvent(this, new SaleEventArgs(SaleDispatchReturnLine.SaleDispatchReturnHeaderId, SaleDispatchReturnLine.SaleDispatchReturnLineId), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXCL"] += message; // EventException = true; //} LogList.Add(new LogTypeViewModel { ExObj = Mapper.Map <SaleDispatchReturnLine>(SaleDispatchReturnLine), }); StockId = SaleDispatchReturnLine.StockId; //new SaleOrderLineStatusService(_unitOfWork).UpdateSaleQtyOnReturn(SaleDispatchReturnLine.SaleDispatchLineId, SaleDispatchReturnLine.SaleDispatchReturnLineId, header.DocDate, 0, ref db, true); //_SaleDispatchReturnLineService.Delete(SaleDispatchReturnLine); 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; //new SaleDispatchReturnHeaderService(_unitOfWork).Update(header); } header.ObjectState = Model.ObjectState.Modified; db.SaleDispatchReturnHeader.Add(header); var SaleDispatchLine = db.SaleDispatchLine.Find(SaleDispatchReturnLine.SaleDispatchLineId); SaleDispatchReturnLine.ObjectState = Model.ObjectState.Deleted; db.SaleDispatchReturnLine.Remove(SaleDispatchReturnLine); if (StockId != null) { new StockService(_unitOfWork).DeleteStockDB((int)StockId, ref db, true); } XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; return(PartialView("_Create", vm)); } //try //{ // SaleDispatchReturnDocEvents.afterLineDeleteEvent(this, new SaleEventArgs(SaleDispatchReturnLine.SaleDispatchReturnHeaderId, SaleDispatchReturnLine.SaleDispatchReturnLineId), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; //} LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = header.DocTypeId, DocId = header.SaleDispatchReturnHeaderId, DocLineId = SaleDispatchReturnLine.SaleDispatchReturnLineId, ActivityType = (int)ActivityTypeContants.Deleted, DocNo = header.DocNo, xEModifications = Modifications, DocDate = header.DocDate, DocStatus = header.Status, })); } return(Json(new { success = true })); }
public ActionResult _CreatePost(SaleDispatchReturnLineViewModel svm) { if (svm.SaleDispatchReturnLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } bool BeforeSave = true; //try //{ // if (svm.SaleDispatchReturnLineId <= 0) // BeforeSave = SaleDispatchReturnDocEvents.beforeLineSaveEvent(this, new SaleEventArgs(svm.SaleDispatchReturnHeaderId, EventModeConstants.Add), ref db); // else // BeforeSave = SaleDispatchReturnDocEvents.beforeLineSaveEvent(this, new SaleEventArgs(svm.SaleDispatchReturnHeaderId, EventModeConstants.Edit), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXCL"] += message; // EventException = true; //} //if (!BeforeSave) // ModelState.AddModelError("", "Validation failed before save."); if (svm.SaleDispatchReturnLineId <= 0) { SaleDispatchReturnHeader Header = new SaleDispatchReturnHeaderService(_unitOfWork).Find(svm.SaleDispatchReturnHeaderId); decimal balqty = (from p in db.SaleDispatchLine join t in db.PackingLine on p.PackingLineId equals t.PackingLineId where p.SaleDispatchLineId == svm.SaleDispatchLineId select t.DealQty).FirstOrDefault(); if (balqty < svm.Qty) { ModelState.AddModelError("Qty", "Qty Exceeding Invoice Qty"); } if (svm.Qty == 0) { ModelState.AddModelError("Qty", "Please Check Qty"); } if (svm.SaleDispatchLineId <= 0) { ModelState.AddModelError("SaleDispatchLineId", "Sale Invoice field is required"); } if (svm.DealQty <= 0) { ModelState.AddModelError("DealQty", "DealQty field is required"); } if (ModelState.IsValid && BeforeSave && !EventException) { int ProcessId = new ProcessService(_unitOfWork).Find(ProcessConstants.FullFinishing).ProcessId; SaleDispatchReturnLine Line = Mapper.Map <SaleDispatchReturnLineViewModel, SaleDispatchReturnLine>(svm); StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = Header.StockHeaderId ?? 0; StockViewModel.DocHeaderId = Header.SaleDispatchReturnHeaderId; StockViewModel.DocLineId = Line.SaleDispatchReturnLineId; StockViewModel.DocTypeId = Header.DocTypeId; StockViewModel.StockHeaderDocDate = Header.DocDate; StockViewModel.StockDocDate = Header.DocDate; StockViewModel.DocNo = Header.DocNo; StockViewModel.DivisionId = Header.DivisionId; StockViewModel.SiteId = Header.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = ProcessId; StockViewModel.PersonId = Header.BuyerId; StockViewModel.ProductId = svm.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = Header.GodownId; StockViewModel.GodownId = Header.GodownId; StockViewModel.ProcessId = ProcessId; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = Line.Qty; StockViewModel.Qty_Rec = 0; StockViewModel.Rate = null; StockViewModel.ExpiryDate = null; StockViewModel.Specification = svm.Specification; StockViewModel.Dimension1Id = svm.Dimension1Id; StockViewModel.Dimension2Id = svm.Dimension2Id; StockViewModel.ProductUidId = svm.ProductUidId; StockViewModel.Remark = Line.Remark; StockViewModel.Status = Header.Status; StockViewModel.CreatedBy = Header.CreatedBy; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = Header.ModifiedBy; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPostDB(ref StockViewModel, ref db); if (StockPostingError != "") { ModelState.AddModelError("", StockPostingError); return(PartialView("_Create", svm)); } Line.StockId = StockViewModel.StockId; Line.Sr = _SaleDispatchReturnLineService.GetMaxSr(svm.SaleDispatchReturnHeaderId); Line.CreatedDate = DateTime.Now; Line.ModifiedDate = DateTime.Now; Line.CreatedBy = User.Identity.Name; Line.ModifiedBy = User.Identity.Name; Line.ObjectState = Model.ObjectState.Added; var SaleDispatchLine = new SaleDispatchLineService(_unitOfWork).Find(Line.SaleDispatchLineId); Line.ObjectState = Model.ObjectState.Added; db.SaleDispatchReturnLine.Add(Line); //_SaleDispatchReturnLineService.Create(Line); //new SaleOrderLineStatusService(_unitOfWork).UpdateSaleQtyOnReturn(Line.SaleDispatchLineId, Line.SaleDispatchReturnLineId, Header.DocDate, Line.Qty, ref db, true); 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; } if (StockViewModel != null) { if (Header.StockHeaderId == null) { Header.StockHeaderId = StockViewModel.StockHeaderId; } } Header.ObjectState = Model.ObjectState.Modified; db.SaleDispatchReturnHeader.Add(Header); //new SaleDispatchReturnHeaderService(_unitOfWork).Update(Header); //try //{ // SaleDispatchReturnDocEvents.onLineSaveEvent(this, new SaleEventArgs(Line.SaleDispatchReturnHeaderId, Line.SaleDispatchReturnLineId, EventModeConstants.Add), 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("_Create", svm)); } //try //{ // SaleDispatchReturnDocEvents.afterLineSaveEvent(this, new SaleEventArgs(Line.SaleDispatchReturnHeaderId, Line.SaleDispatchReturnLineId, EventModeConstants.Add), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXCL"] += message; //} LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.SaleDispatchReturnHeaderId, DocLineId = Line.SaleDispatchReturnLineId, ActivityType = (int)ActivityTypeContants.Added, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(RedirectToAction("_Create", new { id = Line.SaleDispatchReturnHeaderId, sid = svm.BuyerId })); } return(PartialView("_Create", svm)); } else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); SaleDispatchReturnHeader Header = new SaleDispatchReturnHeaderService(_unitOfWork).Find(svm.SaleDispatchReturnHeaderId); int status = Header.Status; StringBuilder logstring = new StringBuilder(); SaleDispatchReturnLine Line = _SaleDispatchReturnLineService.Find(svm.SaleDispatchReturnLineId); SaleDispatchReturnLine ExRec = new SaleDispatchReturnLine(); ExRec = Mapper.Map <SaleDispatchReturnLine>(Line); decimal balqty = (from p in db.SaleDispatchLine join t in db.PackingLine on p.PackingLineId equals t.PackingLineId where p.SaleDispatchLineId == svm.SaleDispatchLineId select t.DealQty).FirstOrDefault(); if (balqty + Line.Qty < svm.Qty) { ModelState.AddModelError("Qty", "Qty Exceeding Invoice Qty"); } if (svm.DealQty <= 0) { ModelState.AddModelError("DealQty", "DealQty field is required"); } if (ModelState.IsValid) { int ProcessId = new ProcessService(_unitOfWork).Find(ProcessConstants.FullFinishing).ProcessId; Line.Remark = svm.Remark; Line.Qty = svm.Qty; Line.DealQty = svm.DealQty; Line.ModifiedBy = User.Identity.Name; Line.ModifiedDate = DateTime.Now; Line.ObjectState = Model.ObjectState.Modified; db.SaleDispatchReturnLine.Add(Line); //_SaleDispatchReturnLineService.Update(Line); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = Line, }); //new SaleOrderLineStatusService(_unitOfWork).UpdateSaleQtyOnReturn(Line.SaleDispatchLineId, Line.SaleDispatchReturnLineId, Header.DocDate, Line.Qty, ref db, true); StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = Header.StockHeaderId ?? 0; StockViewModel.StockId = Line.StockId ?? 0; StockViewModel.DocHeaderId = Header.SaleDispatchReturnHeaderId; StockViewModel.DocLineId = Line.SaleDispatchLineId; StockViewModel.DocTypeId = Header.DocTypeId; StockViewModel.StockHeaderDocDate = Header.DocDate; StockViewModel.StockDocDate = Header.DocDate; StockViewModel.DocNo = Header.DocNo; StockViewModel.DivisionId = Header.DivisionId; StockViewModel.SiteId = Header.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = ProcessId; StockViewModel.PersonId = Header.BuyerId; StockViewModel.ProductId = svm.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = Header.GodownId; StockViewModel.GodownId = Header.GodownId; StockViewModel.ProcessId = ProcessId; StockViewModel.LotNo = null; StockViewModel.CostCenterId = null; StockViewModel.Qty_Iss = svm.Qty; StockViewModel.Qty_Rec = 0; StockViewModel.Rate = null; StockViewModel.ExpiryDate = null; StockViewModel.Specification = svm.Specification; StockViewModel.Dimension1Id = svm.Dimension1Id; StockViewModel.Dimension2Id = svm.Dimension2Id; StockViewModel.ProductUidId = svm.ProductUidId; StockViewModel.Remark = Line.Remark; StockViewModel.Status = Header.Status; StockViewModel.CreatedBy = Header.CreatedBy; StockViewModel.CreatedDate = Header.CreatedDate; StockViewModel.ModifiedBy = User.Identity.Name; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPostDB(ref StockViewModel, ref db); if (StockPostingError != "") { ModelState.AddModelError("", StockPostingError); return(PartialView("_Create", svm)); } if (Header.Status != (int)StatusConstants.Drafted && Header.Status != (int)StatusConstants.Import) { Header.Status = (int)StatusConstants.Modified; Header.ModifiedDate = DateTime.Now; Header.ModifiedBy = User.Identity.Name; //new SaleDispatchReturnHeaderService(_unitOfWork).Update(Header); } Header.ObjectState = Model.ObjectState.Modified; db.SaleDispatchReturnHeader.Add(Header); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); //try //{ // SaleDispatchReturnDocEvents.onLineSaveEvent(this, new SaleEventArgs(Line.SaleDispatchReturnHeaderId, Line.SaleDispatchReturnLineId, EventModeConstants.Edit), 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("_Create", svm)); } //try //{ // SaleDispatchReturnDocEvents.afterLineSaveEvent(this, new SaleEventArgs(Line.SaleDispatchReturnHeaderId, Line.SaleDispatchReturnLineId, EventModeConstants.Edit), ref db); //} //catch (Exception ex) //{ // string message = _exception.HandleException(ex); // TempData["CSEXC"] += message; //} //Saving the Activity Log LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.SaleDispatchReturnHeaderId, DocLineId = Line.SaleDispatchReturnLineId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = Header.DocNo, xEModifications = Modifications, DocDate = Header.DocDate, DocStatus = Header.Status, })); //End of Saving the Activity Log return(Json(new { success = true })); } return(PartialView("_Create", svm)); } }
private void PrepareViewBag(SaleDispatchReturnLineViewModel vm) { //ViewBag.DeliveryUnitList = new UnitService(_unitOfWork).GetUnitList().ToList(); }