public ActionResult Import(int id)//Document Type Id { //ControllerAction ca = new ControllerActionService(_unitOfWork).Find(id); StockHeaderViewModel vm = new StockHeaderViewModel(); vm.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; vm.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(id, vm.DivisionId, vm.SiteId); if (settings != null) { if (settings.ImportMenuId != null) { MenuViewModel menuviewmodel = new MenuService(_unitOfWork).GetMenu((int)settings.ImportMenuId); if (menuviewmodel == null) { return(View("~/Views/Shared/UnderImplementation.cshtml")); } else if (!string.IsNullOrEmpty(menuviewmodel.URL)) { return(Redirect(System.Configuration.ConfigurationManager.AppSettings[menuviewmodel.URL] + "/" + menuviewmodel.ControllerName + "/" + menuviewmodel.ActionName + "/" + id + "?MenuId=" + menuviewmodel.MenuId)); } else { return(RedirectToAction(menuviewmodel.ActionName, menuviewmodel.ControllerName, new { MenuId = menuviewmodel.MenuId, id = id })); } } } return(RedirectToAction("Index", new { id = id })); }
public ActionResult _Create(int Id) //Id ==>Sale Order Header Id { StockHeader H = new StockHeaderService(_unitOfWork).Find(Id); StockLineViewModel s = new StockLineViewModel(); //Getting Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId); s.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); s.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); s.PersonId = H.PersonId; s.StockHeaderId = H.StockHeaderId; s.GodownId = H.GodownId; ViewBag.Status = H.Status; PrepareViewBag(s); if (!string.IsNullOrEmpty((string)TempData["CSEXCL"])) { ViewBag.CSEXCL = TempData["CSEXCL"]; TempData["CSEXCL"] = null; } ViewBag.LineMode = "Create"; return(PartialView("_Create", s)); }
// GET: /StockHeader/Create public ActionResult Create(int id)//DocumentTypeId { StockHeaderViewModel p = new StockHeaderViewModel(); p.DocDate = DateTime.Now.Date; p.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; p.SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; p.CreatedDate = DateTime.Now; //Getting Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(id, p.DivisionId, p.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("CreateForJobConsumption", "StockHeaderSettings", new { id = id }).Warning("Please create Job Consumption settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } p.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); p.ProcessId = settings.ProcessId; if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, id, settings.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Create") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } PrepareViewBag(id); p.DocTypeId = id; p.DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".StockHeaders", p.DocTypeId, p.DocDate, p.DivisionId, p.SiteId); ViewBag.Mode = "Add"; return(View(p)); }
public ActionResult Print(int id) { StockHeader s = _StockHeaderService.Find(id); var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(s.DocTypeId, s.DivisionId, s.SiteId); String query = settings.SqlProcDocumentPrint; return(Redirect((string)System.Configuration.ConfigurationManager.AppSettings["JobsDomain"] + "/Report_DocumentPrint/DocumentPrint/?DocumentId=" + id + "&queryString=" + query)); }
public ActionResult _FilterPost(StockLineFilterViewModel vm) { List <StockLineViewModel> temp = _StockLineService.GetJobConsumptionForFilters(vm).ToList(); StockMasterDetailModel svm = new StockMasterDetailModel(); svm.StockLineViewModel = temp; StockHeader Header = new StockHeaderService(_unitOfWork).Find(vm.StockHeaderId); StockHeaderSettings settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); svm.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); return(PartialView("_Results", svm)); }
private ActionResult _Delete(int id) { StockLineViewModel temp = _StockLineService.GetStockLineForIssue(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"; } StockHeader H = new StockHeaderService(_unitOfWork).Find(temp.StockHeaderId); //Getting Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); temp.DocumentTypeSettings = new DocumentTypeSettingsService(_unitOfWork).GetDocumentTypeSettingsForDocument(H.DocTypeId); temp.GodownId = H.GodownId; PrepareViewBag(temp); return(PartialView("_Create", temp)); }
public ActionResult _Multi(int id, int sid, int?CosCenteId, int ProcId) { StockLineFilterViewModel vm = new StockLineFilterViewModel(); StockHeader Header = new StockHeaderService(_unitOfWork).Find(id); StockHeaderSettings Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); vm.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(Settings); vm.StockHeaderId = id; vm.JobWorkerId = sid; vm.CostCenterId = CosCenteId; vm.ProcessId = ProcId; return(PartialView("_Filters", vm)); }
private void PrepareViewBag(int id) { ViewBag.Name = new DocumentTypeService(_unitOfWork).Find(id).DocumentTypeName; ViewBag.id = id; var DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; ViewBag.AdminSetting = UserRoles.Contains("Admin").ToString(); var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(id, DivisionId, SiteId); if (settings != null) { ViewBag.ImportMenuId = settings.ImportMenuId; ViewBag.SqlProcDocumentPrint = settings.SqlProcDocumentPrint; ViewBag.ExportMenuId = settings.ExportMenuId; ViewBag.SqlProcGatePass = settings.SqlProcGatePass; } }
// [Authorize] public ActionResult Index(int id) { int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; ViewBag.id = id; ViewBag.GodownId = System.Web.HttpContext.Current.Session["DefaultGodownId"]; var Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(id, DivisionId, SiteId); string ContraDocTypeId = ""; if (Settings != null) { ContraDocTypeId = Settings.filterContraDocTypes; } ViewBag.ContraDocTypeIds = ContraDocTypeId; return(View()); }
public ActionResult Detail(int id, string IndexType, string transactionType) { //Saving ViewBag Data:: ViewBag.transactionType = transactionType; ViewBag.IndexStatus = IndexType; StockHeaderViewModel s = _StockHeaderService.GetStockHeader(id); //Job Order Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(s.DocTypeId, s.DivisionId, s.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("CreateForJobConsumption", "StockHeaderSettings", new { id = s.DocTypeId }).Warning("Please create Job Consumption settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } s.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); PrepareViewBag(s.DocTypeId); if (s == null) { return(HttpNotFound()); } if (String.IsNullOrEmpty(transactionType) || transactionType == "detail") { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.StockHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); } return(View("Create", s)); }
public ActionResult _Detail(int id) { StockLineViewModel temp = _StockLineService.GetJobConsumptionLine(id); if (temp == null) { return(HttpNotFound()); } StockHeader H = new StockHeaderService(_unitOfWork).Find(temp.StockHeaderId); //Getting Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); temp.GodownId = H.GodownId; PrepareViewBag(temp); return(PartialView("_Create", temp)); }
// GET: /StockHeader/Edit/5 private ActionResult Edit(int id, string IndexType) { ViewBag.IndexStatus = IndexType; StockHeaderViewModel s = _StockHeaderService.GetStockHeader(id); if (s == null) { return(HttpNotFound()); } if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, s.DocTypeId, s.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Edit") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(s), DocumentTimePlanTypeConstants.Modify, User.Identity.Name, out ExceptionMsg, out Continue); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation) { TempData["CSEXC"] += ExceptionMsg; } #endregion if ((!TimePlanValidation && !Continue)) { return(RedirectToAction("DetailInformation", new { id = id, IndexType = IndexType })); } //Job Order Settings var settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(s.DocTypeId, s.DivisionId, s.SiteId); if (settings == null && UserRoles.Contains("SysAdmin")) { return(RedirectToAction("CreateForJobConsumption", "StockHeaderSettings", new { id = s.DocTypeId }).Warning("Please create Job Consumption settings")); } else if (settings == null && !UserRoles.Contains("SysAdmin")) { return(View("~/Views/Shared/InValidSettings.cshtml")); } s.StockHeaderSettings = Mapper.Map <StockHeaderSettings, StockHeaderSettingsViewModel>(settings); ViewBag.Mode = "Edit"; PrepareViewBag(s.DocTypeId); if (!(System.Web.HttpContext.Current.Request.UrlReferrer.PathAndQuery).Contains("Create")) { LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.StockHeaderId, ActivityType = (int)ActivityTypeContants.Detail, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); } return(View("Create", s)); }
public ActionResult Submitted(int Id, string IndexType, string UserRemark, string IsContinue, string GenGatePass) { bool BeforeSave = true; try { BeforeSave = StockHeaderDocEvents.beforeHeaderSubmitEvent(this, new StockEventArgs(Id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { TempData["CSEXC"] += "Falied validation before submit."; } StockHeader pd = new StockHeaderService(_unitOfWork).Find(Id); if (ModelState.IsValid && BeforeSave && !EventException) { if (User.Identity.Name == pd.ModifiedBy || UserRoles.Contains("Admin")) { int ActivityType; pd.Status = (int)StatusConstants.Submitted; ActivityType = (int)ActivityTypeContants.Submitted; StockHeaderSettings Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(pd.DocTypeId, pd.DivisionId, pd.SiteId); pd.ReviewBy = null; pd.ObjectState = Model.ObjectState.Modified; context.StockHeader.Add(pd); try { StockHeaderDocEvents.onHeaderSubmitEvent(this, new StockEventArgs(Id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } try { if (EventException) { throw new Exception(); } context.SaveChanges(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType })); } try { StockHeaderDocEvents.afterHeaderSubmitEvent(this, new StockEventArgs(Id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pd.DocTypeId, DocId = pd.StockHeaderId, ActivityType = ActivityType, UserRemark = UserRemark, DocNo = pd.DocNo, DocDate = pd.DocDate, DocStatus = pd.Status, })); return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Success("Record Submitted Successfully")); } else { return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning("Record can be submitted by user " + pd.ModifiedBy + " only.")); } } return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType })); }
public ActionResult _ResultsPost(StockMasterDetailModel vm) { int Cnt = 0; StockHeader Header = new StockHeaderService(_unitOfWork).Find(vm.StockLineViewModel.FirstOrDefault().StockHeaderId); StockHeaderSettings Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); bool BeforeSave = true; try { BeforeSave = RateConversionDocEvents.beforeLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), 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) { var CostCenterRecords = (from p in vm.StockLineViewModel where p.CostCenterId != null group p by p.CostCenterId into g select g).ToList(); var CostCenterIds = CostCenterRecords.Select(m => m.Key).ToArray(); var DBCostCenterStatus = (from p in db.CostCenterStatus where CostCenterIds.Contains(p.CostCenterId) select p).ToArray(); foreach (var item in vm.StockLineViewModel) { if (item.Qty != 0 && item.Rate > 0 && (Settings.isMandatoryLineCostCenter == true ? item.CostCenterId.HasValue : 1 == 1)) { StockLine line = new StockLine(); StockProcessViewModel StockProcessViewModel = new StockProcessViewModel(); if (Header.StockHeaderId != null && Header.StockHeaderId != 0)//If Transaction Header Table Has Stock Header Id Then It will Save Here. { StockProcessViewModel.StockHeaderId = (int)Header.StockHeaderId; } else if (Cnt > 0)//If function will only post in stock process then after first iteration of loop the stock header id will go -1 { StockProcessViewModel.StockHeaderId = -1; } else//If function will only post in stock process then this statement will execute.For Example Job consumption. { StockProcessViewModel.StockHeaderId = 0; } StockProcessViewModel.StockProcessId = -Cnt; StockProcessViewModel.DocHeaderId = Header.StockHeaderId; StockProcessViewModel.DocLineId = line.StockLineId; StockProcessViewModel.DocTypeId = Header.DocTypeId; StockProcessViewModel.StockHeaderDocDate = Header.DocDate; StockProcessViewModel.StockProcessDocDate = Header.DocDate; StockProcessViewModel.DocNo = Header.DocNo; StockProcessViewModel.DivisionId = Header.DivisionId; StockProcessViewModel.SiteId = Header.SiteId; StockProcessViewModel.CurrencyId = null; StockProcessViewModel.PersonId = Header.PersonId; StockProcessViewModel.ProductId = item.ProductId; StockProcessViewModel.HeaderFromGodownId = null; StockProcessViewModel.HeaderGodownId = Header.GodownId; StockProcessViewModel.HeaderProcessId = Header.ProcessId; StockProcessViewModel.GodownId = Header.GodownId; StockProcessViewModel.Remark = Header.Remark; StockProcessViewModel.Status = Header.Status; StockProcessViewModel.ProcessId = Header.ProcessId; StockProcessViewModel.LotNo = null; StockProcessViewModel.CostCenterId = (item.CostCenterId == null ? Header.CostCenterId : item.CostCenterId); if (item.Qty < 0) { StockProcessViewModel.Qty_Rec = Math.Abs(item.Qty); StockProcessViewModel.Qty_Iss = 0; } else if (item.Qty > 0) { StockProcessViewModel.Qty_Iss = Math.Abs(item.Qty); StockProcessViewModel.Qty_Rec = 0; } StockProcessViewModel.Rate = item.Rate; StockProcessViewModel.ExpiryDate = null; StockProcessViewModel.Specification = item.Specification; StockProcessViewModel.Dimension1Id = item.Dimension1Id; StockProcessViewModel.Dimension2Id = item.Dimension2Id; StockProcessViewModel.Dimension3Id = item.Dimension3Id; StockProcessViewModel.Dimension4Id = item.Dimension4Id; StockProcessViewModel.CreatedBy = User.Identity.Name; StockProcessViewModel.CreatedDate = DateTime.Now; StockProcessViewModel.ModifiedBy = User.Identity.Name; StockProcessViewModel.ModifiedDate = DateTime.Now; string StockProcessPostingError = ""; StockProcessPostingError = new StockProcessService(_unitOfWork).StockProcessPostDB(ref StockProcessViewModel, ref db); if (StockProcessPostingError != "") { string message = StockProcessPostingError; ModelState.AddModelError("", message); return(PartialView("_Results", vm)); } line.StockProcessId = StockProcessViewModel.StockProcessId; line.StockHeaderId = item.StockHeaderId; line.Qty = item.Qty; line.ProductId = item.ProductId; line.LotNo = item.LotNo; line.Rate = (decimal)item.Rate; line.Amount = Math.Round((decimal)item.Rate * item.Qty, Settings.LineRoundOff ?? 0); line.Dimension1Id = item.Dimension1Id; line.Dimension2Id = item.Dimension2Id; line.Dimension3Id = item.Dimension3Id; line.Dimension4Id = item.Dimension4Id; line.DocNature = StockNatureConstants.Receive; line.CostCenterId = item.CostCenterId; line.FromProcessId = item.FromProcessId; line.Specification = item.Specification; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.ObjectState = Model.ObjectState.Added; //_StockLineService.Create(line); db.StockLine.Add(line); Cnt = Cnt + 1; } } 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.StockHeader.Add(Header); } //ForUpdating CostCenterStatus Values// foreach (var item in DBCostCenterStatus) { var CostCenterAmounts = db.StockLine.Local.Where(m => m.CostCenterId == item.CostCenterId).ToList(); if (CostCenterAmounts != null) { if (CostCenterAmounts.Sum(m => m.Amount) > 0) { item.AmountDr = (item.AmountDr ?? 0) + CostCenterAmounts.Sum(m => m.Amount); } else if (CostCenterAmounts.Sum(m => m.Amount) < 0) { item.AmountDr = (item.AmountDr ?? 0) + CostCenterAmounts.Sum(m => m.Amount); } item.ObjectState = Model.ObjectState.Modified; db.CostCenterStatus.Add(item); } } try { RateConversionDocEvents.onLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), 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 { RateConversionDocEvents.afterLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.StockHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }
public ActionResult _ResultsPost(StockMasterDetailModel vm) { StockHeader temp = new StockHeaderService(_unitOfWork).Find(vm.StockLineViewModel.FirstOrDefault().StockHeaderId); StockHeaderSettings Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(temp.DocTypeId, temp.DivisionId, temp.SiteId); bool BeforeSave = true; try { BeforeSave = JobConsumptionDocEvents.beforeLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { ModelState.AddModelError("", "Validation failed before save"); } int Cnt = 0; if (ModelState.IsValid && BeforeSave && !EventException) { foreach (var item in vm.StockLineViewModel) { if (item.Qty != 0 && (Settings.isMandatoryLineCostCenter == true ? item.CostCenterId.HasValue : 1 == 1)) { StockLine line = new StockLine(); line.StockHeaderId = item.StockHeaderId; line.Qty = item.Qty; line.ProductId = item.ProductId; line.LotNo = item.LotNo; line.Dimension1Id = item.Dimension1Id; line.Dimension2Id = item.Dimension2Id; line.Dimension3Id = item.Dimension3Id; line.Dimension4Id = item.Dimension4Id; line.CostCenterId = item.CostCenterId; line.FromProcessId = item.FromProcessId; line.Specification = item.Specification; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.DocNature = (item.Qty < 0 ? StockNatureConstants.Receive : StockNatureConstants.Issue); StockProcessViewModel StockProcessViewModel = new StockProcessViewModel(); if (temp.StockHeaderId != null && temp.StockHeaderId != 0)//If Transaction Header Table Has Stock Header Id Then It will Save Here. { StockProcessViewModel.StockHeaderId = (int)temp.StockHeaderId; } else if (Cnt > 0)//If function will only post in stock process then after first iteration of loop the stock header id will go -1 { StockProcessViewModel.StockHeaderId = -1; } else//If function will only post in stock process then this statement will execute.For Example Job consumption. { StockProcessViewModel.StockHeaderId = 0; } StockProcessViewModel.StockProcessId = -Cnt; StockProcessViewModel.DocHeaderId = temp.StockHeaderId; StockProcessViewModel.DocLineId = line.StockLineId; StockProcessViewModel.DocTypeId = temp.DocTypeId; StockProcessViewModel.StockHeaderDocDate = temp.DocDate; StockProcessViewModel.StockProcessDocDate = temp.DocDate; StockProcessViewModel.DocNo = temp.DocNo; StockProcessViewModel.DivisionId = temp.DivisionId; StockProcessViewModel.SiteId = temp.SiteId; StockProcessViewModel.CurrencyId = null; StockProcessViewModel.PersonId = temp.PersonId; StockProcessViewModel.ProductId = item.ProductId; StockProcessViewModel.HeaderFromGodownId = null; StockProcessViewModel.HeaderGodownId = temp.GodownId; StockProcessViewModel.HeaderProcessId = temp.ProcessId; StockProcessViewModel.GodownId = temp.GodownId; StockProcessViewModel.Remark = temp.Remark; StockProcessViewModel.Status = temp.Status; StockProcessViewModel.ProcessId = temp.ProcessId; StockProcessViewModel.LotNo = null; StockProcessViewModel.CostCenterId = item.CostCenterId; //StockProcessViewModel.Qty_Iss = item.Qty; //StockProcessViewModel.Qty_Rec = 0; if (item.Qty > 0) { StockProcessViewModel.Qty_Rec = item.Qty; StockProcessViewModel.Qty_Iss = 0; } else if (item.Qty < 0) { StockProcessViewModel.Qty_Rec = 0; StockProcessViewModel.Qty_Iss = Math.Abs(item.Qty); } StockProcessViewModel.Rate = item.Rate; StockProcessViewModel.ExpiryDate = null; StockProcessViewModel.Specification = item.Specification; StockProcessViewModel.Dimension1Id = item.Dimension1Id; StockProcessViewModel.Dimension2Id = item.Dimension2Id; StockProcessViewModel.Dimension3Id = item.Dimension3Id; StockProcessViewModel.Dimension4Id = item.Dimension4Id; StockProcessViewModel.CreatedBy = User.Identity.Name; StockProcessViewModel.CreatedDate = DateTime.Now; StockProcessViewModel.ModifiedBy = User.Identity.Name; StockProcessViewModel.ModifiedDate = DateTime.Now; string StockProcessPostingError = ""; StockProcessPostingError = new StockProcessService(_unitOfWork).StockProcessPostDB(ref StockProcessViewModel, ref db); if (StockProcessPostingError != "") { string message = StockProcessPostingError; ModelState.AddModelError("", message); return(PartialView("_Results", vm)); } line.StockProcessId = StockProcessViewModel.StockProcessId; line.ObjectState = Model.ObjectState.Added; db.StockLine.Add(line); //_StockLineService.Create(line); Cnt = Cnt + 1; } } if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import) { temp.Status = (int)StatusConstants.Modified; temp.ModifiedBy = User.Identity.Name; temp.ModifiedDate = DateTime.Now; temp.ObjectState = Model.ObjectState.Modified; db.StockHeader.Add(temp); } try { JobConsumptionDocEvents.onLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), 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 { JobConsumptionDocEvents.afterLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = temp.StockHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = temp.DocNo, DocDate = temp.DocDate, DocStatus = temp.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }
public ActionResult _ResultsPost(StockMasterDetailModel vm) { int Cnt = 0; int pk = 0; int Serial = _StockLineService.GetMaxSr(vm.StockLineViewModel.FirstOrDefault().StockHeaderId); Dictionary <int, decimal> LineStatus = new Dictionary <int, decimal>(); StockHeader Header = new StockHeaderService(_unitOfWork).Find(vm.StockLineViewModel.FirstOrDefault().StockHeaderId); StockHeaderSettings Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); if (Settings.isMandatoryLineCostCenter == true && vm.StockLineViewModel.Where(m => m.CostCenterId == null).Any()) { ModelState.AddModelError("", "CostCenter is mandatory"); } decimal Qty = vm.StockLineViewModel.Where(m => m.Rate > 0).Sum(m => m.Qty); bool BeforeSave = true; try { BeforeSave = StockIssueDocEvents.beforeLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), 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.StockLineViewModel) { //if (item.Qty > 0 && ((Settings.isMandatoryRate.HasValue && Settings.isMandatoryRate == true )? item.Rate > 0 : 1 == 1)) if (item.Qty > 0) { StockLine line = new StockLine(); line.StockHeaderId = item.StockHeaderId; line.RequisitionLineId = item.RequisitionLineId; line.ProductId = item.ProductId; line.Dimension1Id = item.Dimension1Id; line.Dimension2Id = item.Dimension2Id; line.Dimension3Id = item.Dimension3Id; line.Dimension4Id = item.Dimension4Id; line.Specification = item.Specification; line.CostCenterId = item.CostCenterId; line.Qty = item.Qty; line.DocNature = StockNatureConstants.Issue; line.Rate = item.Rate ?? 0; line.Amount = (line.Qty * line.Rate); line.ReferenceDocId = item.ReferenceDocId; line.ReferenceDocTypeId = item.ReferenceDocTypeId; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.StockLineId = pk; line.Sr = Serial++; line.ObjectState = Model.ObjectState.Added; db.StockLine.Add(line); pk++; Cnt = Cnt + 1; if (line.RequisitionLineId.HasValue) { LineStatus.Add(line.RequisitionLineId.Value, line.Qty); } } } //new RequisitionLineStatusService(_unitOfWork).UpdateRequisitionQtyIssueMultiple(LineStatus, Header.DocDate, ref db); 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.StockHeader.Add(Header); try { StockIssueDocEvents.onLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), 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 { StockIssueDocEvents.afterLineSaveBulkEvent(this, new StockEventArgs(vm.StockLineViewModel.FirstOrDefault().StockHeaderId), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.StockHeaderId, ActivityType = (int)ActivityTypeContants.MultipleCreate, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(Json(new { success = true })); } return(PartialView("_Results", vm)); }
public ActionResult GeneratePrints(string Ids, int DocTypeId) { if (!string.IsNullOrEmpty(Ids)) { int SiteId = (int)System.Web.HttpContext.Current.Session["SiteId"]; int DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"]; var Settings = new StockHeaderSettingsService(_unitOfWork).GetStockHeaderSettingsForDocument(DocTypeId, DivisionId, SiteId); if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, DocTypeId, Settings.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "GeneratePrints") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } try { List <byte[]> PdfStream = new List <byte[]>(); foreach (var item in Ids.Split(',').Select(Int32.Parse)) { DirectReportPrint drp = new DirectReportPrint(); var pd = db.StockHeader.Find(item); LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = pd.DocTypeId, DocId = pd.StockHeaderId, ActivityType = (int)ActivityTypeContants.Print, DocNo = pd.DocNo, DocDate = pd.DocDate, DocStatus = pd.Status, })); byte[] Pdf; if (pd.Status == (int)StatusConstants.Drafted || pd.Status == (int)StatusConstants.Modified) { //LogAct(item.ToString()); Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint, User.Identity.Name, item); PdfStream.Add(Pdf); } else if (pd.Status == (int)StatusConstants.Submitted || pd.Status == (int)StatusConstants.ModificationSubmitted) { Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint, User.Identity.Name, item); PdfStream.Add(Pdf); } else { Pdf = drp.DirectDocumentPrint(Settings.SqlProcDocumentPrint, User.Identity.Name, item); PdfStream.Add(Pdf); } } PdfMerger pm = new PdfMerger(); byte[] Merge = pm.MergeFiles(PdfStream); if (Merge != null) { return(File(Merge, "application/pdf")); } } catch (Exception ex) { string message = _exception.HandleException(ex); return(Json(new { success = "Error", data = message }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = "Success" }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = "Error", data = "No Records Selected." }, JsonRequestBehavior.AllowGet)); }