public ActionResult Submit(int id, string IndexType, string TransactionType) { #region DocTypeTimeLineValidation JobOrderHeader s = _RecipeHeaderService.Find(id); try { TimePlanValidation = _documentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(s), DocumentTimePlanTypeConstants.Submit, User.Identity.Name, out ExceptionMsg, out Continue); TempData["CSEXC"] += ExceptionMsg; } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation && !Continue) { return(RedirectToAction("Index", new { id = s.DocTypeId, IndexType = IndexType })); } #endregion return(RedirectToAction("Detail", new { id = id, IndexType = IndexType, transactionType = string.IsNullOrEmpty(TransactionType) ? "submit" : TransactionType })); }
public ActionResult _FilterPost(JobOrderLineFilterViewModel vm) { if (vm.JobOrderSettings.isVisibleRate && vm.JobOrderSettings.isMandatoryRate && (vm.Rate == null || vm.Rate == 0)) { ModelState.AddModelError("", "Rate is mandatory"); PrepareViewBag(null); return(PartialView("_Filters", vm)); } List <JobOrderLineViewModel> temp = _JobOrderLineService.GetProdOrdersForFilters(vm).ToList(); bool UnitConvetsionException = (from p in temp where p.UnitConversionException == true select p).Any(); if (UnitConvetsionException) { ModelState.AddModelError("", "Unit Conversion are missing for few Products"); } JobOrderMasterDetailModel svm = new JobOrderMasterDetailModel(); svm.JobOrderLineViewModel = temp; JobOrderHeader Header = _jobOrderHeaderService.Find(vm.JobOrderHeaderId); JobOrderSettings Settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(Header.DocTypeId, Header.DivisionId, Header.SiteId); svm.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(Settings); return(PartialView("_Results", svm)); }
public ActionResult Reviewed(int Id, string IndexType, string UserRemark, string IsContinue) { JobOrderHeader pd = _JobOrderHeaderService.Find(Id); if (ModelState.IsValid) { _JobOrderHeaderService.Review(Id, User.Identity.Name, UserRemark); string ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; //if (!string.IsNullOrEmpty(IsContinue) && IsContinue == "True") //{ // int nextId = new NextPrevIdService(_unitOfWork).GetNextPrevId(Id, pd.DocTypeId, User.Identity.Name, ForActionConstants.PendingToReview, "Web.JobOrderHeaders", "JobOrderHeaderId", PrevNextConstants.Next); // if (nextId == 0) // { // var PendingtoSubmitCount = _JobOrderHeaderService.GetJobOrderHeaderListPendingToSubmit(pd.DocTypeId, User.Identity.Name).Count(); // if (PendingtoSubmitCount > 0) // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index_PendingToReview" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; // else // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; // } // else // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Review" + "/" + nextId + "?TransactionType=ReviewContinue&IndexType=" + IndexType; //} return(Redirect(ReturnUrl)); } return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning("Error in Reviewing.")); }
public ActionResult Submitted(int Id, string IndexType, string UserRemark, string IsContinue, string GenGatePass) { JobOrderHeader pd = _RecipeHeaderService.Find(Id); if (ModelState.IsValid) { if (User.Identity.Name == pd.ModifiedBy || UserRoles.Contains("Admin")) { try { _RecipeHeaderService.Submit(Id, User.Identity.Name, GenGatePass, UserRemark); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(RedirectToAction("Index", new { id = pd.DocTypeId })); } } 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 void UpdateProdUidJobWorkers(ref ApplicationDbContext context, JobOrderHeader Header) { var Lines = (from p in context.JobOrderLine where p.JobOrderHeaderId == Header.JobOrderHeaderId select p).ToList(); if (Lines.Count() > 0) { if (Lines.Where(m => m.ProductUidId != null).Count() > 0) { var ProductUids = Lines.Select(m => m.ProductUidId).ToArray(); var ProductUidRecords = (from p in context.ProductUid where ProductUids.Contains(p.ProductUIDId) && p.LastTransactionDocId == Header.JobOrderHeaderId select p).ToList(); foreach (var item in ProductUidRecords) { item.LastTransactionPersonId = Header.JobWorkerId; item.LastTransactionDocNo = Header.DocNo; item.LastTransactionDocDate = Header.DocDate; item.ObjectState = Model.ObjectState.Modified; context.ProductUid.Add(item); } } } }
public ActionResult BarcodePrint(int id) { string GenDocId = ""; JobOrderHeader header = _JobOrderHeaderService.Find(id); GenDocId = header.DocTypeId.ToString() + '-' + header.DocNo; return(Redirect((string)System.Configuration.ConfigurationManager.AppSettings["CustomizeDomain"] + "/Report_BarcodePrint/PrintBarCode/?GenHeaderId=" + GenDocId + "&queryString=" + GenDocId)); }
private ActionResult _Modify(int id) { JobOrderLineViewModel temp = _JobOrderLineService.GetJobOrderLine(id); JobOrderHeader H = _jobOrderHeaderService.Find(temp.JobOrderHeaderId); //Getting Settings var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId); temp.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings); //ViewBag.DocNo = H.DocNo; temp.GodownId = H.GodownId; if (temp == null) { return(HttpNotFound()); } PrepareViewBag(temp); #region DocTypeTimeLineValidation try { TimePlanValidation = _validator.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 = "Edit"; } if (temp.ProdOrderLineId != null) { return(PartialView("_CreateForProdOrder", temp)); } else { return(PartialView("_Create", temp)); } }
public ActionResult ModifyAfter_Submit(int id, string IndexType) { JobOrderHeader header = _JobOrderHeaderService.Find(id); if (header.Status == (int)StatusConstants.Submitted || header.Status == (int)StatusConstants.Modified) { return(Edit(id, IndexType)); } else { return(HttpNotFound()); } }
public ActionResult ModifyAfter_Approve(int id, string IndexType) { JobOrderHeader header = _RecipeHeaderService.Find(id); if (header.Status == (int)StatusConstants.Approved) { return(Edit(id, IndexType)); } else { return(HttpNotFound()); } }
public ActionResult DeleteAfter_Approve(int id) { JobOrderHeader header = _RecipeHeaderService.Find(id); if (header.Status == (int)StatusConstants.Approved) { return(Remove(id)); } else { return(HttpNotFound()); } }
public ActionResult DeleteAfter_Submit(int id) { JobOrderHeader header = _JobOrderHeaderService.Find(id); if (header.Status == (int)StatusConstants.Submitted || header.Status == (int)StatusConstants.Modified) { return(Remove(id)); } else { return(HttpNotFound()); } }
public ActionResult Delete(int id) { JobOrderHeader header = _JobOrderHeaderService.Find(id); if (header.Status == (int)StatusConstants.Drafted || header.Status == (int)StatusConstants.Import) { return(Remove(id)); } else { return(HttpNotFound()); } }
//[ValidateAntiForgeryToken] public ActionResult PriorityUpdate(int Id, string Priority) { if (ModelState.IsValid) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); JobOrderHeader Head = db.JobOrderHeader.Find(Id); JobOrderHeader ExRec = Mapper.Map <JobOrderHeader>(Head); //Head.DueDate = NewDueDate; int t = (int)Enum.Parse(typeof(SaleOrderPriority), Priority); Head.Priority = t; Head.ModifiedBy = User.Identity.Name; Head.ModifiedDate = DateTime.Now; LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = Head, }); Head.ObjectState = Model.ObjectState.Modified; db.JobOrderHeader.Add(Head); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { db.SaveChanges(); } catch (Exception ex) { return(Json(new { Success = false })); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Head.DocTypeId, DocId = Head.JobOrderHeaderId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = Head.DocNo, DocDate = Head.DocDate, DocStatus = Head.Status, xEModifications = Modifications, })); return(Json(new { Success = true })); } return(Json(new { Success = false })); }
public ActionResult Submitted(int Id, string IndexType, string UserRemark, string IsContinue, string GenGatePass) { JobOrderHeader pd = _JobOrderHeaderService.Find(Id); if (ModelState.IsValid) { if (User.Identity.Name == pd.ModifiedBy || UserRoles.Contains("Admin")) { try { _JobOrderHeaderService.Submit(Id, User.Identity.Name, GenGatePass, UserRemark); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(RedirectToAction("Index", new { id = pd.DocTypeId })); } //string ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; //if (!string.IsNullOrEmpty(IsContinue) && IsContinue == "True") //{ // int nextId = new NextPrevIdService(_unitOfWork).GetNextPrevId(Id, pd.DocTypeId, User.Identity.Name, ForActionConstants.PendingToSubmit, "Web.JobOrderHeaders", "JobOrderHeaderId", PrevNextConstants.Next); // if (nextId == 0) // { // var PendingtoSubmitCount = _JobOrderHeaderService.GetJobOrderHeaderListPendingToSubmit(pd.DocTypeId, User.Identity.Name).Count(); // if (PendingtoSubmitCount > 0) // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index_PendingToSubmit" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; // else // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Index" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; // } // else // ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "JobOrderHeader" + "/" + "Submit" + "/" + nextId + "?TransactionType=submitContinue&IndexType=" + IndexType; //} } 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 _Create(int Id, DateTime?date, bool?IsProdBased) //Id ==>Sale Order Header Id { JobOrderHeader H = _jobOrderHeaderService.Find(Id); JobOrderLineViewModel s = new JobOrderLineViewModel(); //Getting Settings var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(H.DocTypeId, H.DivisionId, H.SiteId); s.JobOrderSettings = Mapper.Map <JobOrderSettings, JobOrderSettingsViewModel>(settings); var count = _JobOrderLineService.GetJobOrderLineListForIndex(Id).Count(); if (count > 0) { s.NonCountedQty = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().NonCountedQty; s.LossQty = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().LossQty; s.DealUnitId = _JobOrderLineService.GetJobOrderLineListForIndex(Id).OrderByDescending(m => m.JobOrderLineId).FirstOrDefault().DealUnitId; } else { s.NonCountedQty = settings.NonCountedQty; s.LossQty = settings.LossQty; s.DealUnitId = settings.DealUnitId; } s.GodownId = H.GodownId; s.AllowRepeatProcess = false; s.JobOrderHeaderId = H.JobOrderHeaderId; ViewBag.Status = H.Status; s.IsProdOrderBased = IsProdBased ?? true; s.DocTypeId = H.DocTypeId; s.SiteId = H.SiteId; s.DivisionId = H.DivisionId; //if (date != null) s.DueDate = date??DateTime.Today; PrepareViewBag(s); ViewBag.LineMode = "Create"; //if (!string.IsNullOrEmpty((string)TempData["CSEXCL"])) //{ // ViewBag.CSEXCL = TempData["CSEXCL"]; // TempData["CSEXCL"] = null; //} if (IsProdBased == true) { return(PartialView("_CreateForProdOrder", s)); } else { return(PartialView("_Create", s)); } }
public ActionResult Reviewed(int Id, string IndexType, string UserRemark, string IsContinue) { JobOrderHeader pd = _RecipeHeaderService.Find(Id); if (ModelState.IsValid) { _RecipeHeaderService.Review(Id, User.Identity.Name, UserRemark); string ReturnUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentDomain"] + "/" + "RecipeHeader" + "/" + "Index" + "/" + pd.DocTypeId + "?IndexType=" + IndexType; return(Redirect(ReturnUrl)); } return(RedirectToAction("Index", new { id = pd.DocTypeId, IndexType = IndexType }).Warning("Error in Reviewing.")); }
private ActionResult _Delete(int id) { RecipeLineViewModel temp = _RecipeLineService.GetStockLine(id); JobOrderHeader H = _RecipeHeaderService.Find(temp.JobOrderHeaderId); //Getting Settings if (temp == null) { return(HttpNotFound()); } PrepareViewBag(temp); //ViewBag.LineMode = "Delete"; #region DocTypeTimeLineValidation try { TimePlanValidation = _validator.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"; } return(PartialView("_Create", temp)); }
public void _ResultsPost(int JobOrderHeaderId, int StockLineId, int ProductId, Decimal DyeingRatio, Decimal TestingQty, Decimal DocQty, Decimal?ExcessQty, Decimal Qty, Decimal Rate, Decimal Amount) { RecipeLineViewModel svm = new RecipeLineViewModel(); JobOrderHeader JobOrderHeader = _RecipeHeaderService.Find(JobOrderHeaderId); RecipeLineViewModel RecipeLine = _RecipeLineService.GetStockLine(StockLineId); svm.JobOrderHeaderId = JobOrderHeaderId; svm.StockHeaderId = (int)JobOrderHeader.StockHeaderId; svm.ProductId = ProductId; svm.DyeingRatio = DyeingRatio; svm.TestingQty = TestingQty; svm.DocQty = DocQty; svm.ExcessQty = ExcessQty; svm.Qty = Qty; svm.Rate = Rate; svm.Amount = Amount; try { if (JobOrderHeader.StockHeaderId == RecipeLine.StockHeaderId) { svm.StockLineId = RecipeLine.StockLineId; _RecipeLineService.Update(svm, User.Identity.Name); } else { _RecipeLineService.Create(svm, User.Identity.Name); } } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(svm); } }
private ActionResult Remove(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } JobOrderHeader JobOrderHeader = _RecipeHeaderService.Find(id); if (JobOrderHeader == null) { return(HttpNotFound()); } #region DocTypeTimeLineValidation try { TimePlanValidation = _documentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(JobOrderHeader), DocumentTimePlanTypeConstants.Delete, User.Identity.Name, out ExceptionMsg, out Continue); TempData["CSEXC"] += ExceptionMsg; } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } if (!TimePlanValidation && !Continue) { return(PartialView("AjaxError")); } #endregion ReasonViewModel rvm = new ReasonViewModel() { id = id, }; return(PartialView("_Reason", rvm)); }
public SubRecipeViewModel Create(SubRecipeViewModel vmSubRecipe, string UserName) { _RecipeHeaderService.CreateProdOrder(vmSubRecipe.JobOrderHeaderId, UserName, vmSubRecipe.Qty); _unitOfWork.Save(); JobOrderHeader Header = _RecipeHeaderService.Find(vmSubRecipe.JobOrderHeaderId); _logger.LogActivityDetail(logVm.Map(new ActiivtyLogViewModel { DocTypeId = Header.DocTypeId, DocId = Header.JobOrderHeaderId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = Header.DocNo, DocDate = Header.DocDate, DocStatus = Header.Status, })); return(vmSubRecipe); }
//[ValidateAntiForgeryToken] public ActionResult _CreatePost(RecipeLineViewModel svm, string BulkMode) { bool BeforeSave = true; JobOrderHeader temp = _RecipeHeaderService.Find(svm.JobOrderHeaderId); if (svm.Qty <= 0) { ModelState.AddModelError("Qty", "The Qty is required"); } if (_RecipeLineService.IsDuplicateLine(svm.StockHeaderId, svm.ProductId, svm.DyeingRatio, svm.StockLineId)) { ModelState.AddModelError("ProductId", "Product is already entered in recipe."); } ViewBag.Status = temp.Status; if (svm.StockLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } if (ModelState.IsValid && BeforeSave) { if (svm.StockLineId <= 0) { try { _RecipeLineService.Create(svm, User.Identity.Name); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(svm); return(PartialView("_Create", svm)); } return(RedirectToAction("_Create", new { id = svm.JobOrderHeaderId })); } else { try { _RecipeLineService.Update(svm, User.Identity.Name); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(svm); return(PartialView("_Create", svm)); } return(Json(new { success = true })); } } PrepareViewBag(svm); return(PartialView("_Create", svm)); }
public JobOrderHeader Create(JobOrderHeader s) { s.ObjectState = ObjectState.Added; _unitOfWork.Repository <JobOrderHeader>().Insert(s); return(s); }
public void Delete(JobOrderHeader s) { _unitOfWork.Repository <JobOrderHeader>().Delete(s); }
public void Update(JobOrderHeader s) { s.ObjectState = ObjectState.Modified; _unitOfWork.Repository <JobOrderHeader>().Update(s); }
public ActionResult PostCostCenters(List <int> CostCenterId, DateTime CloseDate) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); int[] CostCenterIds = CostCenterId.Select(m => m).ToArray(); if (ModelState.IsValid) { var CostCenters = (from p in db.CostCenter join t in db.CostCenterStatus on p.CostCenterId equals t.CostCenterId into CostCenterStatusTable from CostCenterStatusTab in CostCenterStatusTable.DefaultIfEmpty() join jos in db.JobOrderSettings on new { A = p.ReferenceDocTypeId ?? 0, B = p.SiteId ?? 0, C = p.DivisionId ?? 0 } equals new { A = jos.DocTypeId, B = jos.SiteId, C = jos.DivisionId } into josTable from josTab in josTable.DefaultIfEmpty() where CostCenterIds.Contains(p.CostCenterId) select new { p.CostCenterId, p.LedgerAccountId, p.DivisionId, p.SiteId, p.ReferenceDocId, p.ReferenceDocTypeId, AmountDr = CostCenterStatusTab.AmountDr ?? 0, AmountCr = CostCenterStatusTab.AmountCr ?? 0, p.DocTypeId, p.StartDate, p.Status, p.CloseDate, p.ModifiedBy, p.ModifiedDate, josTab.RetensionCostCenter, }).ToList(); int?ProcessId = null; var Process = db.Process.Where(m => m.ProcessName == ProcessConstants.Weaving).FirstOrDefault(); if (Process != null) { ProcessId = Process.ProcessId; } int itemcount = 0; int ROitemcount = 0; string DocNo = ""; string TempDocNo = ""; foreach (var item in CostCenters) { itemcount = itemcount + 1; int PurjaAmountTransferDocTypeId = 717; int LedgerAccountId = (int)item.LedgerAccountId; LedgerHeader Header = new LedgerHeader(); Header.CreatedBy = User.Identity.Name; Header.CreatedDate = DateTime.Now; Header.DivisionId = (int)item.DivisionId; Header.SiteId = (int)item.SiteId; Header.DivisionId = (int)item.DivisionId; Header.DocDate = CloseDate; Header.PaymentFor = CloseDate; Header.ProcessId = ProcessId; //Header.DocDate = (DateTime)item.CloseDate; //Header.PaymentFor = item.CloseDate; Header.DocTypeId = PurjaAmountTransferDocTypeId; Header.CostCenterId = item.CostCenterId; // Header.DocHeaderId = StokHeader.StockHeaderId; DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".LedgerHeaders", Header.DocTypeId, Header.DocDate, Header.DivisionId, Header.SiteId); TempDocNo = DocNo.Substring(0, 2) + "-" + (Convert.ToInt32(DocNo.Substring(DocNo.IndexOf("-") + 1)) + itemcount - 1).ToString().PadLeft(4, '0').ToString(); DocNo = TempDocNo; Header.LedgerHeaderId = -itemcount; Header.DocNo = DocNo; Header.LedgerAccountId = LedgerAccountId; Header.ModifiedBy = User.Identity.Name; Header.ModifiedDate = DateTime.Now; //Header.Remark = StokHeader.Remark; Header.Status = (int)StatusConstants.Locked; Header.ObjectState = Model.ObjectState.Added; db.LedgerHeader.Add(Header); decimal Amount = Math.Round((decimal)item.AmountDr - (decimal)item.AmountCr, 0, MidpointRounding.AwayFromZero); decimal RoundOffAmount = Amount - ((decimal)item.AmountDr - (decimal)item.AmountCr); if (Amount != 0) { //Postingcontra LedgerRecord;; LedgerLine Ledgerline = new LedgerLine(); Ledgerline.LedgerHeaderId = Header.LedgerHeaderId; Ledgerline.LedgerAccountId = LedgerAccountId; Ledgerline.Amount = Amount; Ledgerline.CostCenterId = item.RetensionCostCenter; Ledgerline.CreatedDate = DateTime.Now; Ledgerline.ModifiedDate = DateTime.Now; Ledgerline.CreatedBy = User.Identity.Name; //Ledgerline.Remark = svm.Remark; Ledgerline.ModifiedBy = User.Identity.Name; Ledgerline.ObjectState = Model.ObjectState.Added; db.LedgerLine.Add(Ledgerline); //Postingcontra LedgerRecord;; Ledger Ledger = new Ledger(); Ledger.AmtDr = Amount < 0 ? Math.Abs(Amount) : 0; Ledger.AmtCr = Amount < 0 ? 0 : Math.Abs(Amount); Ledger.LedgerHeaderId = Header.LedgerHeaderId; Ledger.LedgerAccountId = LedgerAccountId; Ledger.CostCenterId = item.CostCenterId; Ledger.ContraLedgerAccountId = LedgerAccountId; Ledger.ObjectState = Model.ObjectState.Added; db.Ledger.Add(Ledger); //new LedgerService(_unitOfWork).Create(Ledger); //Postingcontra LedgerRecord;; Ledger ContraLedger = new Ledger(); ContraLedger.AmtCr = Amount; ContraLedger.AmtDr = Amount < 0 ? 0 : Math.Abs(Amount); ContraLedger.AmtCr = Amount < 0 ? Math.Abs(Amount) : 0; ContraLedger.LedgerHeaderId = Header.LedgerHeaderId; ContraLedger.LedgerAccountId = LedgerAccountId; ContraLedger.CostCenterId = item.RetensionCostCenter; ContraLedger.ContraLedgerAccountId = LedgerAccountId; ContraLedger.ObjectState = Model.ObjectState.Added; //new LedgerService(_unitOfWork).Create(ContraLedger); db.Ledger.Add(ContraLedger); } if (RoundOffAmount != 0) { ROitemcount = ROitemcount + 1; LedgerHeader ROLHeader = new LedgerHeader(); int RODocType = 0; int RoundOffAccountId = 6660; if (RoundOffAmount > 0) { RODocType = 785;//dr } else { RODocType = 786;//cr } ROLHeader.CreatedBy = User.Identity.Name; ROLHeader.CreatedDate = DateTime.Now; ROLHeader.DivisionId = (int)item.DivisionId; ROLHeader.SiteId = (int)item.SiteId; ROLHeader.DivisionId = (int)item.DivisionId; ROLHeader.DocDate = CloseDate; ROLHeader.PaymentFor = CloseDate; ROLHeader.ProcessId = ProcessId; ROLHeader.DocTypeId = RODocType; ROLHeader.CostCenterId = item.CostCenterId; DocNo = new DocumentTypeService(_unitOfWork).FGetNewDocNo("DocNo", ConfigurationManager.AppSettings["DataBaseSchema"] + ".LedgerHeaders", ROLHeader.DocTypeId, ROLHeader.DocDate, ROLHeader.DivisionId, ROLHeader.SiteId);; TempDocNo = DocNo.Substring(0, 2) + "-" + (Convert.ToInt32(DocNo.Substring(DocNo.IndexOf("-") + 1)) + ROitemcount - 1).ToString().PadLeft(4, '0').ToString(); DocNo = TempDocNo; ROLHeader.LedgerHeaderId = +ROitemcount; ROLHeader.DocNo = DocNo; ROLHeader.LedgerAccountId = RoundOffAccountId; ROLHeader.ModifiedBy = User.Identity.Name; ROLHeader.ModifiedDate = DateTime.Now; ROLHeader.Remark = "On Cost Center Closing"; ROLHeader.Status = (int)StatusConstants.Locked; ROLHeader.ObjectState = Model.ObjectState.Added; db.LedgerHeader.Add(ROLHeader); //Postingcontra LedgerRecord;; LedgerLine Ledgerline1 = new LedgerLine(); Ledgerline1.LedgerHeaderId = ROLHeader.LedgerHeaderId; Ledgerline1.LedgerAccountId = LedgerAccountId; Ledgerline1.Amount = Math.Abs(RoundOffAmount); Ledgerline1.CostCenterId = item.CostCenterId; Ledgerline1.CreatedDate = DateTime.Now; Ledgerline1.ModifiedDate = DateTime.Now; Ledgerline1.CreatedBy = User.Identity.Name; //Ledgerline.Remark = svm.Remark; Ledgerline1.ModifiedBy = User.Identity.Name; Ledgerline1.ObjectState = Model.ObjectState.Added; db.LedgerLine.Add(Ledgerline1); #region CSEUpdate var CSE = db.CostCenterStatusExtended.Find(item.CostCenterId); if (RODocType == 785) { CSE.DebitAmount = (CSE.DebitAmount ?? 0) + Math.Abs(RoundOffAmount); } else if (RODocType == 786) { CSE.CreditAmount = (CSE.CreditAmount ?? 0) + Math.Abs(RoundOffAmount); } CSE.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CSE); #endregion //Postingcontra LedgerRecord;; Ledger Ledger1 = new Ledger(); Ledger1.AmtDr = RoundOffAmount > 0 ? Math.Abs(RoundOffAmount) : 0; Ledger1.AmtCr = RoundOffAmount < 0 ? Math.Abs(RoundOffAmount) : 0; Ledger1.LedgerHeaderId = ROLHeader.LedgerHeaderId; Ledger1.LedgerAccountId = LedgerAccountId; Ledger1.CostCenterId = item.CostCenterId; Ledger1.ContraLedgerAccountId = RoundOffAccountId; Ledger1.ObjectState = Model.ObjectState.Added; db.Ledger.Add(Ledger1); //new LedgerService(_unitOfWork).Create(Ledger); //Postingcontra LedgerRecord;; Ledger ContraLedger1 = new Ledger(); ContraLedger1.AmtDr = RoundOffAmount < 0 ? Math.Abs(RoundOffAmount) : 0; ContraLedger1.AmtCr = RoundOffAmount > 0 ? Math.Abs(RoundOffAmount) : 0; ContraLedger1.LedgerHeaderId = ROLHeader.LedgerHeaderId; ContraLedger1.LedgerAccountId = RoundOffAccountId; ContraLedger1.ContraLedgerAccountId = LedgerAccountId; ContraLedger1.ObjectState = Model.ObjectState.Added; //new LedgerService(_unitOfWork).Create(ContraLedger); db.Ledger.Add(ContraLedger1); } } // Start For Old RetentionTrf foreach (var item in CostCenters) { IQueryable <JobOrderHeaderViewModel> p = _JobOrderHeaderService.GetJobOrderHeaderListByCostCenter(item.CostCenterId); foreach (var V1 in p) { JobOrderHeader joborder = db.JobOrderHeader.Find(V1.JobOrderHeaderId); joborder.Status = (int)StatusConstants.Closed; joborder.ModifiedBy = User.Identity.Name; joborder.ModifiedDate = DateTime.Now; joborder.ObjectState = Model.ObjectState.Modified; db.JobOrderHeader.Add(joborder); #region CSEUpdate var JOHS = db.JobOrderHeaderStatus.Find(V1.JobOrderHeaderId); JOHS.Status = (int)StatusConstants.Closed; JOHS.ObjectState = Model.ObjectState.Modified; db.JobOrderHeaderStatus.Add(JOHS); #endregion } CostCenter costcenter = db.CostCenter.Find(item.CostCenterId); costcenter.Status = (int)StatusConstants.Closed; costcenter.CloseDate = CloseDate; costcenter.IsActive = false; costcenter.ModifiedBy = User.Identity.Name; costcenter.ModifiedDate = DateTime.Now; costcenter.ObjectState = Model.ObjectState.Modified; db.CostCenter.Add(costcenter); LogList.Add(new LogTypeViewModel { ExObj = costcenter, Obj = costcenter }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); ActivityLog Log = new ActivityLog() { ActivityType = (int)ActivityTypeContants.Closed, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now, DocId = item.CostCenterId, DocTypeId = item.DocTypeId, Modifications = Modifications.ToString(), Narration = "", }; Log.ObjectState = Model.ObjectState.Added; db.ActivityLog.Add(Log); } // End For Old RetentionTrf try { db.SaveChanges(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); return(Json(new { Success = false })); } return(Json(new { Success = true })); } //PrepareViewBag(svm.DocTypeId); //ViewBag.Mode = "Add"; //return View("Create", svm); return(View("CloseCostCenters")); }
public ActionResult Post(JobOrderHeaderViewModel svm) { JobOrderHeader s = Mapper.Map <JobOrderHeaderViewModel, JobOrderHeader>(svm); ProdOrderCancelHeader cHeader = new ProdOrderCancelHeader(); if (svm.JobOrderSettings != null) { if (svm.JobOrderSettings.isMandatoryCostCenter == true && (svm.CostCenterId <= 0 || svm.CostCenterId == null)) { ModelState.AddModelError("CostCenterId", "The CostCenter field is required"); } if (svm.JobOrderSettings.isMandatoryMachine == true && (svm.MachineId <= 0 || svm.MachineId == null)) { ModelState.AddModelError("MachineId", "The Machine field is required"); } if (svm.JobOrderSettings.isPostedInStock == true && !svm.GodownId.HasValue) { ModelState.AddModelError("GodownId", "The Godown field is required"); } } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Create, 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 (ModelState.IsValid && (TimePlanValidation || Continue)) { List <ProdOrderHeaderListViewModel> ProdOrderIds = (List <ProdOrderHeaderListViewModel>)System.Web.HttpContext.Current.Session["ConfirmProdOrderIds"]; bool CancelBalProdOrders = (bool)System.Web.HttpContext.Current.Session["CancelBalProdOrdrs"]; bool CreateDyeingOrder = ProdOrderIds.Any(m => m.Qty > 0); var ProdOrderLineIds = ProdOrderIds.Select(m => m.ProdOrderLineId).ToArray(); var BalProdOrders = (from p in db.ViewProdOrderBalance.AsNoTracking() where ProdOrderLineIds.Contains(p.ProdOrderLineId) select p).ToList(); var ProdOrderLines = (from p in db.ProdOrderLine.AsNoTracking() where ProdOrderLineIds.Contains(p.ProdOrderLineId) select p).ToList(); var ProductIds = BalProdOrders.Select(m => m.ProductId).ToList(); var Products = (from p in db.Product.AsNoTracking() where ProductIds.Contains(p.ProductId) select p).ToList(); bool CancelQty = (from p in ProdOrderIds join t in BalProdOrders on p.ProdOrderLineId equals t.ProdOrderLineId where (t.BalanceQty - p.Qty) > 0 select p).Any(); CancelBalProdOrders = (CancelBalProdOrders && CancelQty); if (CreateDyeingOrder) { s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.ActualDueDate = s.DueDate; s.ActualDocDate = s.DocDate; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; s.Status = (int)StatusConstants.Drafted; _JobOrderHeaderService.Create(s); new JobOrderHeaderStatusService(_unitOfWork).CreateHeaderStatus(s.JobOrderHeaderId, ref db, false); if (svm.PerkViewModel != null) { foreach (PerkViewModel item in svm.PerkViewModel) { JobOrderPerk perk = Mapper.Map <PerkViewModel, JobOrderPerk>(item); perk.CreatedBy = User.Identity.Name; perk.CreatedDate = DateTime.Now; perk.ModifiedBy = User.Identity.Name; perk.ModifiedDate = DateTime.Now; perk.JobOrderHeaderId = s.JobOrderHeaderId; new JobOrderPerkService(_unitOfWork).Create(perk); } } } if (CancelBalProdOrders) { cHeader.DocNo = s.DocNo; cHeader.DocDate = s.DocDate; cHeader.DocTypeId = new DocumentTypeService(_unitOfWork).FindByName(TransactionDoctypeConstants.DyeingPlanCancel).DocumentTypeId; cHeader.DivisionId = s.DivisionId; cHeader.SiteId = s.SiteId; cHeader.CreatedBy = User.Identity.Name; cHeader.CreatedDate = DateTime.Now; cHeader.ModifiedBy = User.Identity.Name; cHeader.ModifiedDate = DateTime.Now; cHeader.ReferenceDocId = s.JobOrderHeaderId; cHeader.ReferenceDocTypeId = s.DocTypeId; cHeader.Remark = s.Remark; cHeader.ObjectState = Model.ObjectState.Added; new ProdOrderCancelHeaderService(_unitOfWork).Create(cHeader); } int Cnt = 0; List <HeaderChargeViewModel> HeaderCharges = new List <HeaderChargeViewModel>(); List <LineChargeViewModel> LineCharges = new List <LineChargeViewModel>(); int pk = 0; bool HeaderChargeEdit = false; JobOrderSettings Settings = new JobOrderSettingsService(_unitOfWork).GetJobOrderSettingsForDocument(s.DocTypeId, s.DivisionId, s.SiteId); int?MaxLineId = new JobOrderLineChargeService(_unitOfWork).GetMaxProductCharge(s.JobOrderHeaderId, "Web.JobOrderLines", "JobOrderHeaderId", "JobOrderLineId"); int PersonCount = 0; //if (!Settings.CalculationId.HasValue) //{ // throw new Exception("Calculation not configured in Job order settings"); //} int CalculationId = Settings.CalculationId ?? 0; List <LineDetailListViewModel> LineList = new List <LineDetailListViewModel>(); foreach (var ProdORderLineId in ProdOrderIds) { var BalProdOrderLine = BalProdOrders.Where(m => m.ProdOrderLineId == ProdORderLineId.ProdOrderLineId).FirstOrDefault(); var Product = Products.Where(m => m.ProductId == BalProdOrderLine.ProductId).FirstOrDefault(); if (ProdORderLineId.Qty <= BalProdOrderLine.BalanceQty && ProdORderLineId.Qty > 0) { if (((Settings.isVisibleRate == false || Settings.isVisibleRate == true))) { JobOrderLine line = new JobOrderLine(); if (Settings.isPostedInStock ?? false) { StockViewModel StockViewModel = new StockViewModel(); if (Cnt == 0) { StockViewModel.StockHeaderId = s.StockHeaderId ?? 0; } else { if (s.StockHeaderId != null && s.StockHeaderId != 0) { StockViewModel.StockHeaderId = (int)s.StockHeaderId; } else { StockViewModel.StockHeaderId = -1; } } StockViewModel.StockId = -Cnt; StockViewModel.DocHeaderId = s.JobOrderHeaderId; StockViewModel.DocLineId = line.JobOrderLineId; StockViewModel.DocTypeId = s.DocTypeId; StockViewModel.StockHeaderDocDate = s.DocDate; StockViewModel.StockDocDate = s.DocDate; StockViewModel.DocNo = s.DocNo; StockViewModel.DivisionId = s.DivisionId; StockViewModel.SiteId = s.SiteId; StockViewModel.CurrencyId = null; StockViewModel.PersonId = s.JobWorkerId; StockViewModel.ProductId = BalProdOrderLine.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = s.GodownId; StockViewModel.HeaderProcessId = s.ProcessId; StockViewModel.GodownId = (int)s.GodownId; StockViewModel.Remark = s.Remark; StockViewModel.Status = s.Status; StockViewModel.ProcessId = s.ProcessId; StockViewModel.LotNo = null; StockViewModel.CostCenterId = s.CostCenterId; StockViewModel.Qty_Iss = ProdORderLineId.Qty; StockViewModel.Qty_Rec = 0; StockViewModel.Rate = 0; StockViewModel.ExpiryDate = null; StockViewModel.Specification = ProdOrderLines.Where(m => m.ProdOrderLineId == ProdORderLineId.ProdOrderLineId).FirstOrDefault().Specification; StockViewModel.Dimension1Id = BalProdOrderLine.Dimension1Id; StockViewModel.Dimension2Id = BalProdOrderLine.Dimension2Id; StockViewModel.CreatedBy = User.Identity.Name; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = User.Identity.Name; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = new StockService(_unitOfWork).StockPost(ref StockViewModel); if (StockPostingError != "") { string message = StockPostingError; ModelState.AddModelError("", message); return(View("Create", svm)); } if (Cnt == 0) { s.StockHeaderId = StockViewModel.StockHeaderId; } line.StockId = StockViewModel.StockId; } if (Settings.isPostedInStockProcess ?? false) { StockProcessViewModel StockProcessViewModel = new StockProcessViewModel(); if (s.StockHeaderId != null && s.StockHeaderId != 0)//If Transaction Header Table Has Stock Header Id Then It will Save Here. { StockProcessViewModel.StockHeaderId = (int)s.StockHeaderId; } else if (Settings.isPostedInStock ?? false)//If Stok Header is already posted during stock posting then this statement will Execute.So theat Stock Header will not generate again. { StockProcessViewModel.StockHeaderId = -1; } 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 = s.JobOrderHeaderId; StockProcessViewModel.DocLineId = line.JobOrderLineId; StockProcessViewModel.DocTypeId = s.DocTypeId; StockProcessViewModel.StockHeaderDocDate = s.DocDate; StockProcessViewModel.StockProcessDocDate = s.DocDate; StockProcessViewModel.DocNo = s.DocNo; StockProcessViewModel.DivisionId = s.DivisionId; StockProcessViewModel.SiteId = s.SiteId; StockProcessViewModel.CurrencyId = null; StockProcessViewModel.PersonId = s.JobWorkerId; StockProcessViewModel.ProductId = BalProdOrderLine.ProductId; StockProcessViewModel.HeaderFromGodownId = null; StockProcessViewModel.HeaderGodownId = s.GodownId; StockProcessViewModel.HeaderProcessId = s.ProcessId; StockProcessViewModel.GodownId = s.GodownId; StockProcessViewModel.Remark = s.Remark; StockProcessViewModel.Status = s.Status; StockProcessViewModel.ProcessId = s.ProcessId; StockProcessViewModel.LotNo = null; StockProcessViewModel.CostCenterId = s.CostCenterId; StockProcessViewModel.Qty_Iss = 0; StockProcessViewModel.Qty_Rec = ProdORderLineId.Qty; StockProcessViewModel.Rate = 0; StockProcessViewModel.ExpiryDate = null; StockProcessViewModel.Specification = ProdOrderLines.Where(m => m.ProdOrderLineId == ProdORderLineId.ProdOrderLineId).FirstOrDefault().Specification; StockProcessViewModel.Dimension1Id = BalProdOrderLine.Dimension1Id; StockProcessViewModel.Dimension2Id = BalProdOrderLine.Dimension2Id; StockProcessViewModel.CreatedBy = User.Identity.Name; StockProcessViewModel.CreatedDate = DateTime.Now; StockProcessViewModel.ModifiedBy = User.Identity.Name; StockProcessViewModel.ModifiedDate = DateTime.Now; string StockProcessPostingError = ""; StockProcessPostingError = new StockProcessService(_unitOfWork).StockProcessPost(ref StockProcessViewModel); if (StockProcessPostingError != "") { string message = StockProcessPostingError; ModelState.AddModelError("", message); return(PartialView("_Results", svm)); } if ((Settings.isPostedInStock ?? false) == false) { if (Cnt == 0) { s.StockHeaderId = StockProcessViewModel.StockHeaderId; } } line.StockProcessId = StockProcessViewModel.StockProcessId; } line.JobOrderHeaderId = s.JobOrderHeaderId; line.ProdOrderLineId = BalProdOrderLine.ProdOrderLineId; line.ProductId = BalProdOrderLine.ProductId; line.Dimension1Id = BalProdOrderLine.Dimension1Id; line.Dimension2Id = BalProdOrderLine.Dimension2Id; line.Specification = ProdOrderLines.Where(m => m.ProdOrderLineId == ProdORderLineId.ProdOrderLineId).FirstOrDefault().Specification; line.Qty = ProdORderLineId.Qty; line.Rate = ProdORderLineId.Rate; line.DealQty = ProdORderLineId.Qty; line.UnitId = Product.UnitId; line.DealUnitId = Product.UnitId; line.Amount = (line.DealQty * line.Rate); line.UnitConversionMultiplier = 1; line.CreatedDate = DateTime.Now; line.ModifiedDate = DateTime.Now; line.CreatedBy = User.Identity.Name; line.ModifiedBy = User.Identity.Name; line.JobOrderLineId = pk; line.Sr = pk; line.ObjectState = Model.ObjectState.Added; new JobOrderLineService(_unitOfWork).Create(line); new JobOrderLineStatusService(_unitOfWork).CreateLineStatus(line.JobOrderLineId, ref db, false); LineList.Add(new LineDetailListViewModel { Amount = line.Amount, Rate = line.Rate, LineTableId = line.JobOrderLineId, HeaderTableId = s.JobOrderHeaderId, PersonID = s.JobWorkerId, DealQty = line.DealQty }); pk++; Cnt++; } } if (CancelBalProdOrders && (BalProdOrderLine.BalanceQty - ProdORderLineId.Qty > 0)) { ProdOrderCancelLine cLine = new ProdOrderCancelLine(); cLine.CreatedBy = User.Identity.Name; cLine.CreatedDate = DateTime.Now; cLine.ModifiedBy = User.Identity.Name; cLine.ModifiedDate = DateTime.Now; cLine.ProdOrderCancelHeaderId = cHeader.ProdOrderCancelHeaderId; cLine.ProdOrderLineId = ProdORderLineId.ProdOrderLineId; cLine.Qty = (BalProdOrderLine.BalanceQty - ProdORderLineId.Qty); cLine.ReferenceDocTypeId = cHeader.ReferenceDocTypeId; cLine.ObjectState = Model.ObjectState.Added; new ProdOrderCancelLineService(_unitOfWork).Create(cLine); } } //new JobOrderHeaderService(_unitOfWork).Update(s); new ChargesCalculationService(_unitOfWork).CalculateCharges(LineList, s.JobOrderHeaderId, CalculationId, MaxLineId, out LineCharges, out HeaderChargeEdit, out HeaderCharges, "Web.JobOrderHeaderCharges", "Web.JobOrderLineCharges", out PersonCount, s.DocTypeId, s.SiteId, s.DivisionId); //Saving Charges foreach (var item in LineCharges) { JobOrderLineCharge PoLineCharge = Mapper.Map <LineChargeViewModel, JobOrderLineCharge>(item); PoLineCharge.ObjectState = Model.ObjectState.Added; new JobOrderLineChargeService(_unitOfWork).Create(PoLineCharge); } //Saving Header charges for (int i = 0; i < HeaderCharges.Count(); i++) { if (!HeaderChargeEdit) { JobOrderHeaderCharge POHeaderCharge = Mapper.Map <HeaderChargeViewModel, JobOrderHeaderCharge>(HeaderCharges[i]); POHeaderCharge.HeaderTableId = s.JobOrderHeaderId; POHeaderCharge.PersonID = s.JobWorkerId; POHeaderCharge.ObjectState = Model.ObjectState.Added; new JobOrderHeaderChargeService(_unitOfWork).Create(POHeaderCharge); } else { var footercharge = new JobOrderHeaderChargeService(_unitOfWork).Find(HeaderCharges[i].Id); footercharge.Rate = HeaderCharges[i].Rate; footercharge.Amount = HeaderCharges[i].Amount; new JobOrderHeaderChargeService(_unitOfWork).Update(footercharge); } } try { _unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); ModelState.AddModelError("", message); PrepareViewBag(); ViewBag.Mode = "Add"; return(View("Create", svm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.JobOrderHeaderId, ActivityType = (int)ActivityTypeContants.Added, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); System.Web.HttpContext.Current.Session.Remove("ConfirmProdOrderIds"); System.Web.HttpContext.Current.Session.Remove("CancelBalProdOrdrs"); if (CreateDyeingOrder) { return(Redirect(System.Configuration.ConfigurationManager.AppSettings["JobsDomain"] + "/JobOrderHeader/Submit/" + s.JobOrderHeaderId)); } else { return(Redirect(System.Configuration.ConfigurationManager.AppSettings["JobsDomain"] + "/JobOrderHeader/Index/" + s.DocTypeId)); } } PrepareViewBag(); ViewBag.Mode = "Add"; return(View("Create", svm)); }
//[ValidateAntiForgeryToken] public ActionResult _CreatePost(JobOrderLineViewModel svm) { bool BeforeSave = true; JobOrderHeader temp = _jobOrderHeaderService.Find(svm.JobOrderHeaderId); var settings = _jobOrderSettingsService.GetJobOrderSettingsForDocument(temp.DocTypeId, temp.DivisionId, temp.SiteId); if (settings != null) { if (settings.isVisibleProcessLine == true && settings.isMandatoryProcessLine == true && (svm.FromProcessId <= 0 || svm.FromProcessId == null)) { ModelState.AddModelError("FromProcessId", "The Process field is required"); } if (settings.isVisibleRate == true && settings.isMandatoryRate == true && svm.Rate <= 0) { ModelState.AddModelError("Rate", "The Rate field is required"); } if (settings.isVisibleProductUID == true && settings.isMandatoryProductUID == true && !svm.ProductUidId.HasValue) { ModelState.AddModelError("ProductUidIdName", "The ProductUid field is required"); } } if (svm.Qty <= 0) { ModelState.AddModelError("Qty", "The Qty is required"); } if (svm.DealQty <= 0) { ModelState.AddModelError("DealQty", "DealQty field is required"); } ViewBag.Status = temp.Status; if (svm.DueDate != null && temp.DocDate > svm.DueDate) { ModelState.AddModelError("DueDate", "Duedate should be greater than Docdate"); } if (svm.JobOrderLineId <= 0) { ViewBag.LineMode = "Create"; } else { ViewBag.LineMode = "Edit"; } if (ModelState.IsValid && BeforeSave) { if (svm.JobOrderLineId <= 0) { try { _JobOrderLineService.Create(svm, User.Identity.Name); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(svm); if (svm.ProdOrderLineId != null) { return(PartialView("_CreateForProdOrder", svm)); } else { return(PartialView("_Create", svm)); } } return(RedirectToAction("_Create", new { id = svm.JobOrderHeaderId, IsProdBased = (svm.ProdOrderLineId == null ? false : true) })); } else { try { _JobOrderLineService.Update(svm, User.Identity.Name); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXCL"] += message; PrepareViewBag(svm); if (svm.ProdOrderLineId != null) { return(PartialView("_CreateForProdOrder", svm)); } else { return(PartialView("_Create", svm)); } } return(Json(new { success = true })); } } PrepareViewBag(svm); if (svm.ProdOrderLineId != null) { return(PartialView("_CreateForProdOrder", svm)); } else { return(PartialView("_Create", svm)); } }