public ActionResult Modify(int id, string IndexType) { StockHeader header = _StockHeaderService.Find(id); if (header.Status == (int)StatusConstants.Drafted || header.Status == (int)StatusConstants.Import) { return(Edit(id, IndexType)); } else { return(HttpNotFound()); } }
public ActionResult ModifyAfter_Approve(int id, string IndexType) { StockHeader header = _StockHeaderService.Find(id); if (header.Status == (int)StatusConstants.Approved) { return(Edit(id, IndexType)); } else { return(HttpNotFound()); } }
public ActionResult Delete(int id) { StockHeader header = _StockHeaderService.Find(id); if (header.Status == (int)StatusConstants.Drafted || header.Status == (int)StatusConstants.Import) { return(Remove(id)); } else { return(HttpNotFound()); } }
//public static ProductUid MapGodownIssue(StockHeader StockRecord,ref ProductUid UidOldRecord) //{ // UidOldRecord.LastTransactionDocId = StockRecord.StockHeaderId; // UidOldRecord.LastTransactionDocNo = StockRecord.DocNo; // UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId; // UidOldRecord.LastTransactionDocDate = StockRecord.DocDate; // UidOldRecord.LastTransactionPersonId = StockRecord.PersonId; // UidOldRecord.CurrenctGodownId = null; // UidOldRecord.Status = ProductUidStatusConstants.Issue; // return UidOldRecord; //} //public static ProductUid MapGodownReceive(StockHeader StockRecord,ref ProductUid UidOldRecord) //{ // UidOldRecord.LastTransactionDocId = StockRecord.StockHeaderId; // UidOldRecord.LastTransactionDocNo = StockRecord.DocNo; // UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId; // UidOldRecord.LastTransactionDocDate = StockRecord.DocDate; // UidOldRecord.LastTransactionPersonId = StockRecord.PersonId; // UidOldRecord.CurrenctGodownId = StockRecord.GodownId; // UidOldRecord.CurrenctProcessId = StockRecord.ProcessId; // UidOldRecord.Status = ProductUidStatusConstants.Receive; // return UidOldRecord; //} public static ProductUid MapGodownTransfer(StockHeader StockRecord, ProductUid UidOldRecord) { UidOldRecord.LastTransactionDocId = StockRecord.StockHeaderId; UidOldRecord.LastTransactionDocNo = StockRecord.DocNo; UidOldRecord.LastTransactionDocTypeId = StockRecord.DocTypeId; UidOldRecord.LastTransactionDocDate = StockRecord.DocDate; UidOldRecord.LastTransactionPersonId = StockRecord.PersonId; UidOldRecord.CurrenctGodownId = StockRecord.GodownId; UidOldRecord.CurrenctProcessId = StockRecord.ProcessId; UidOldRecord.Status = ProductUidStatusConstants.Transfer; return(UidOldRecord); }
protected override void HandleActivation(CompositeDisposable disposables) { if (saftValidator?.StockFile?.StockHeader != null) { var h = saftValidator.StockFile.StockHeader; Header = new StockHeader { EndDate = h.EndDate, FileVersion = h.FileVersion, FiscalYear = h.FiscalYear, NoStock = h.NoStock, TaxRegistrationNumber = h.TaxRegistrationNumber }; } }
public ActionResult Save(StockHeader stockHeader) { if (ModelState.IsValid) { bool isSaved = _stockManager.Add(stockHeader); if (isSaved) { ViewBag.message = "Stock saved sucessfully"; } } var productCategories = _productCategoryManager.GetAll(); ViewBag.ProductCategories = new SelectList(productCategories, "Id", "Name"); return(View(stockHeader)); }
protected void btnSave_Click(object sender, EventArgs e) { try { string err = ""; List <StockDetail> lst = new List <StockDetail>(); StockHeader Header = new StockHeader(); var dal = StockDal.Instance; if (Session["StockDetail"] != null) { lst = (List <StockDetail>)Session["StockDetail"]; if (lst == null && lst.Count == 0) { ShowMessageBox("กรุณาเพิ่ม สินค้า ที่ต้องการบันทึก!!"); return; } if (hddType.Value.ToLower() == "o") { ShowMessageBox("กรุณาเพิ่ม หมายเหตุ !!"); return; } //Process Save Header.StockType = hddType.Value.ToLower() == "i" ? "IN" : "OUT"; Header.StockTime = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("en-US")); Header.Remark = txtRemark.Text; Header.detail = lst; err = dal.InsertStock(Header, GetUsername()); } if (!string.IsNullOrEmpty(err)) { ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.!!" + err); return; } ShowMessageBox("บันทึกสำเร็จ.", this.Page, "../Stock/StockLogs.aspx"); } catch (Exception ex) { ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ."); SendMailError(ex.Message, System.Reflection.MethodBase.GetCurrentMethod()); } }
// GET: /PurchaseOrderHeader/Delete/5 private ActionResult Remove(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StockHeader StockHeader = _StockHeaderService.Find(id); if (StockHeader == null) { return(HttpNotFound()); } if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, StockHeader.DocTypeId, StockHeader.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Remove") == false) { return(PartialView("~/Views/Shared/PermissionDenied_Modal.cshtml").Warning("You don't have permission to do this task.")); } #region DocTypeTimeLineValidation try { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(StockHeader), 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 ActionResult Submit(int id, string IndexType, string TransactionType) { StockHeader s = context.StockHeader.Find(id); if (new RolePermissionService(_unitOfWork).IsActionAllowed(UserRoles, s.DocTypeId, s.ProcessId, this.ControllerContext.RouteData.Values["controller"].ToString(), "Submit") == false) { return(View("~/Views/Shared/PermissionDenied.cshtml").Warning("You don't have permission to do this task.")); } #region DocTypeTimeLineValidation try { TimePlanValidation = Submitvalidation(id, out ExceptionMsg); TempData["CSEXC"] += ExceptionMsg; } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; TimePlanValidation = false; } 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 void UpdateStockHeader(StockHeaderViewModel S) { StockHeader StockHeader = Find(S.StockHeaderId); StockHeader.DocTypeId = S.DocTypeId; StockHeader.DocDate = S.DocDate; StockHeader.DocNo = S.DocNo; StockHeader.DivisionId = S.DivisionId; StockHeader.SiteId = S.SiteId; StockHeader.CurrencyId = S.CurrencyId; StockHeader.PersonId = S.PersonId; StockHeader.ProcessId = S.ProcessId; StockHeader.FromGodownId = S.FromGodownId; StockHeader.GodownId = S.GodownId; StockHeader.Remark = S.Remark; StockHeader.Status = S.Status; StockHeader.ModifiedBy = S.ModifiedBy; StockHeader.ModifiedDate = S.ModifiedDate; StockHeader.CostCenterId = S.CostCenterId; StockHeader.MachineId = S.MachineId; Update(StockHeader); }
public List <StockHeader> GetStockHeader(DateTime DateFrom, DateTime DateTo) { List <StockHeader> lst = new List <StockHeader>(); try { List <SqlParameter> param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "DateFrom", Value = DateFrom }); param.Add(new SqlParameter() { ParameterName = "DateTo", Value = DateTo }); DataSet ds = conn.GetDataSet("GetStockHeader", param); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null) { StockHeader o = new StockHeader(); foreach (DataRow dr in ds.Tables[0].Rows) { o = new StockHeader(); o.StockHeaderID = Convert.ToInt32(dr["StockHeaderID"].ToString()); o.StockTime = Convert.ToDateTime(dr["StockTime"].ToString()); o.StockType = dr["StockType"].ToString(); o.CreatedBy = dr["CreatedBy"].ToString(); o.StockFrom = dr["StockFrom"].ToString(); o.CreatedDate = Convert.ToDateTime(dr["CreatedDate"].ToString()); lst.Add(o); } } } catch (Exception ex) { } return(lst); }
public StockHeader Create(StockHeader s) { s.ObjectState = ObjectState.Added; _unitOfWork.Repository <StockHeader>().Insert(s); return(s); }
public RecipeLineViewModel Create(RecipeLineViewModel svm, string UserName) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId); StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm); StockViewModel StockViewModel = new StockViewModel(); StockProcessViewModel StockProcessViewModel = new StockProcessViewModel(); //Posting in Stock StockViewModel.StockHeaderId = temp.StockHeaderId; StockViewModel.DocHeaderId = temp.StockHeaderId; StockViewModel.DocLineId = s.StockLineId; StockViewModel.DocTypeId = temp.DocTypeId; StockViewModel.StockHeaderDocDate = temp.DocDate; StockViewModel.StockDocDate = DateTime.Now.Date; StockViewModel.DocNo = temp.DocNo; StockViewModel.DivisionId = temp.DivisionId; StockViewModel.SiteId = temp.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = null; StockViewModel.PersonId = temp.PersonId; StockViewModel.ProductId = s.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = temp.GodownId; StockViewModel.GodownId = temp.GodownId ?? 0; StockViewModel.ProcessId = s.FromProcessId; StockViewModel.LotNo = s.LotNo; StockViewModel.CostCenterId = temp.CostCenterId; StockViewModel.Qty_Iss = s.Qty; StockViewModel.Qty_Rec = 0; StockViewModel.Rate = s.Rate; StockViewModel.ExpiryDate = null; StockViewModel.Specification = s.Specification; StockViewModel.Dimension1Id = s.Dimension1Id; StockViewModel.Dimension2Id = s.Dimension2Id; StockViewModel.Remark = s.Remark; StockViewModel.ProductUidId = s.ProductUidId; StockViewModel.Status = temp.Status; StockViewModel.CreatedBy = temp.CreatedBy; StockViewModel.CreatedDate = DateTime.Now; StockViewModel.ModifiedBy = temp.ModifiedBy; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = _stockService.StockPostDB(ref StockViewModel); s.StockId = StockViewModel.StockId; if (temp.StockHeaderId == null) { temp.StockHeaderId = StockViewModel.StockHeaderId; } StockProcessViewModel.StockHeaderId = (int)temp.StockHeaderId; StockProcessViewModel.DocHeaderId = temp.StockHeaderId; StockProcessViewModel.DocLineId = s.StockLineId; StockProcessViewModel.DocTypeId = temp.DocTypeId; StockProcessViewModel.StockHeaderDocDate = temp.DocDate; StockProcessViewModel.StockProcessDocDate = DateTime.Now.Date; StockProcessViewModel.DocNo = temp.DocNo; StockProcessViewModel.DivisionId = temp.DivisionId; StockProcessViewModel.SiteId = temp.SiteId; StockProcessViewModel.CurrencyId = null; StockProcessViewModel.HeaderProcessId = null; StockProcessViewModel.PersonId = temp.PersonId; StockProcessViewModel.ProductId = s.ProductId; StockProcessViewModel.HeaderFromGodownId = null; StockProcessViewModel.HeaderGodownId = temp.GodownId ?? 0; StockProcessViewModel.GodownId = temp.GodownId ?? 0; StockProcessViewModel.ProcessId = temp.ProcessId; StockProcessViewModel.LotNo = s.LotNo; StockProcessViewModel.CostCenterId = temp.CostCenterId; StockProcessViewModel.Qty_Iss = 0; StockProcessViewModel.Qty_Rec = s.Qty; StockProcessViewModel.Rate = s.Rate; StockProcessViewModel.ExpiryDate = null; StockProcessViewModel.Specification = s.Specification; StockProcessViewModel.Dimension1Id = s.Dimension1Id; StockProcessViewModel.Dimension2Id = s.Dimension2Id; StockProcessViewModel.Remark = s.Remark; StockProcessViewModel.Status = temp.Status; StockProcessViewModel.ProductUidId = s.ProductUidId; StockProcessViewModel.CreatedBy = temp.CreatedBy; StockProcessViewModel.CreatedDate = DateTime.Now; StockProcessViewModel.ModifiedBy = temp.ModifiedBy; StockProcessViewModel.ModifiedDate = DateTime.Now; string StockProcessPostingError = ""; StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel); s.StockProcessId = StockProcessViewModel.StockProcessId; s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = UserName; s.Sr = GetMaxSr(s.StockHeaderId); s.ModifiedBy = UserName; s.ObjectState = Model.ObjectState.Added; Create(s); StockLineExtended LineExtended = new StockLineExtended(); LineExtended.StockLineId = s.StockLineId; LineExtended.DyeingRatio = svm.DyeingRatio; LineExtended.TestingQty = svm.TestingQty; LineExtended.DocQty = svm.DocQty; LineExtended.ExcessQty = svm.ExcessQty; LineExtended.ObjectState = Model.ObjectState.Added; _StockLineExtendedService.Create(LineExtended); //StockHeader header = new StockHeaderService(_unitOfWork).Find(s.StockHeaderId); if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import) { temp.Status = (int)StatusConstants.Modified; temp.ModifiedDate = DateTime.Now; temp.ModifiedBy = UserName; } temp.ObjectState = Model.ObjectState.Modified; _StockHeaderRepository.Update(temp); _unitOfWork.Save(); svm.StockLineId = s.StockLineId; _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = temp.StockHeaderId, DocLineId = s.StockLineId, ActivityType = (int)ActivityTypeContants.Added, DocNo = temp.DocNo, DocDate = temp.DocDate, DocStatus = temp.Status, })); return(svm); }
protected void btnSave_Click(object sender, EventArgs e) { try { string err = "", type = "", result = "", url = "../Stock/StockLogs.aspx"; List <StockDetail> lst = new List <StockDetail>(); StockHeader Header = new StockHeader(); List <string> errSN = new List <string>(); var dal = StockDal.Instance; if (Session["StockDetailHeadQ"] != null) { lst = (List <StockDetail>)Session["StockDetailHeadQ"]; if (lst == null && lst.Count == 0) { ShowMessageBox("กรุณาเพิ่ม สินค้า ที่ต้องการบันทึก!!"); return; } switch (hddType.Value) { case "i": type = "IN"; url = "../Stock/StockHeadQLogs.aspx"; break; case "o": type = "OUT"; url = "../Stock/StockHeadQLogs.aspx"; break; case "t": type = "TRANSFER"; url = "../Stock/StockLogs.aspx"; break; default: type = ""; break; } //Process Save Header.StockType = type;// hddType.Value.ToLower() == "i" ? "IN" : "OUT"; Header.StockTime = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", new System.Globalization.CultureInfo("en-US")); Header.Remark = txtRemark.Text; Header.detail = lst; err = dal.InsertStockHeadQ(Header, GetUsername(), ref result, ref errSN); } if (!string.IsNullOrEmpty(err)) { ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ.!!" + err); return; } if (!string.IsNullOrEmpty(result)) { ShowMessageBox(result); return; } if (errSN != null && errSN.Count > 0) { foreach (string s in errSN) { Logs(s, "Log"); } } ShowMessageBox("บันทึกสำเร็จ.", this.Page, url); } catch (Exception ex) { ShowMessageBox("เกิดข้อผิดพลาด กรุณาติดต่อผู้ดูแลระบบ."); SendMailError(ex.Message, System.Reflection.MethodBase.GetCurrentMethod()); } }
public bool Update(StockHeader entity) { return(_repository.Update(entity)); }
public bool Add(StockHeader entity) { return(_repository.Add(entity)); }
public ActionResult Delete(ReasonViewModel vm) { bool BeforeSave = true; try { BeforeSave = JobConsumptionDocEvents.beforeHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { TempData["CSEXC"] += "Failed validation before delete"; } if (ModelState.IsValid && BeforeSave && !EventException) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); //first find the Purchase Order Object based on the ID. (sience this object need to marked to be deleted IE. ObjectState.Deleted) StockHeader StockHeader = (from p in db.StockHeader where p.StockHeaderId == vm.id select p).FirstOrDefault(); LogList.Add(new LogTypeViewModel { ExObj = Mapper.Map <StockHeader>(StockHeader), }); //Then find all the Purchase Order Header Line associated with the above ProductType. var StockLine = (from p in db.StockLine where p.StockHeaderId == vm.id select p).ToList(); try { JobConsumptionDocEvents.onHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } List <int> StockProcessIdList = new List <int>(); //Mark ObjectState.Delete to all the Purchase Order Lines. foreach (var item in StockLine) { LogList.Add(new LogTypeViewModel { ExObj = Mapper.Map <StockLine>(item), }); if (item.StockProcessId != null) { StockProcessIdList.Add((int)item.StockProcessId); } item.ObjectState = Model.ObjectState.Deleted; db.StockLine.Remove(item); //new StockLineService(_unitOfWork).Delete(item); } foreach (var item in StockProcessIdList) { new StockProcessService(_unitOfWork).DeleteStockProcessDB(item, ref db, true); } //if (StockHeader != null) //{ // new StockHeaderService(_unitOfWork).Delete(StockHeader.StockHeaderId); //} // Now delete the Purhcase Order Header //new StockHeaderService(_unitOfWork).Delete(StockHeader); StockHeader.ObjectState = Model.ObjectState.Deleted; db.StockHeader.Remove(StockHeader); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); //Commit the DB try { if (EventException) { throw new Exception(); } db.SaveChanges(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(PartialView("_Reason", vm)); } try { JobConsumptionDocEvents.afterHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = StockHeader.DocTypeId, DocId = StockHeader.StockHeaderId, ActivityType = (int)ActivityTypeContants.Deleted, UserRemark = vm.Reason, DocNo = StockHeader.DocNo, xEModifications = Modifications, DocDate = StockHeader.DocDate, DocStatus = StockHeader.Status, })); return(Json(new { success = true })); } return(PartialView("_Reason", vm)); }
public void Delete(StockHeader s) { _unitOfWork.Repository <StockHeader>().Delete(s); }
/// <summary> /// Create, update and delete Stock Posting for one record. /// </summary> /// <param name="StockViewModel_New"></param> /// <param name="StockViewModel_Old"></param> /// <returns></returns> public string StockPost(StockViewModel StockViewModel_New, StockViewModel StockViewModel_Old) { string ErrorText = ""; StockHeader StockHeader; if (StockViewModel_New != null) { StockHeader = _stockHeaderService.FindByDocHeader(StockViewModel_New.DocHeaderId, StockViewModel_New.StockHeaderId, StockViewModel_New.DocTypeId, StockViewModel_New.SiteId, StockViewModel_New.DivisionId); if (StockViewModel_New.StockHeaderExist == 0 || StockViewModel_New.StockHeaderExist == null) { if (StockHeader == null) { StockHeader H = new StockHeader(); H.DocHeaderId = StockViewModel_New.DocHeaderId; H.DocTypeId = StockViewModel_New.DocTypeId; H.DocDate = StockViewModel_New.StockHeaderDocDate; H.DocNo = StockViewModel_New.DocNo; H.DivisionId = StockViewModel_New.DivisionId; H.SiteId = StockViewModel_New.SiteId; H.CurrencyId = StockViewModel_New.CurrencyId; H.PersonId = StockViewModel_New.PersonId; H.ProcessId = StockViewModel_New.HeaderProcessId; H.FromGodownId = StockViewModel_New.HeaderFromGodownId; H.GodownId = StockViewModel_New.HeaderGodownId; H.Remark = StockViewModel_New.Remark; H.Status = StockViewModel_New.Status; H.CreatedBy = StockViewModel_New.CreatedBy; H.CreatedDate = StockViewModel_New.CreatedDate; H.ModifiedBy = StockViewModel_New.ModifiedBy; H.ModifiedDate = StockViewModel_New.ModifiedDate; _stockHeaderService.Create(H); StockHeader = H; } else { StockHeader.DocHeaderId = StockViewModel_New.DocHeaderId; StockHeader.DocTypeId = StockViewModel_New.DocTypeId; StockHeader.DocDate = StockViewModel_New.StockHeaderDocDate; StockHeader.DocNo = StockViewModel_New.DocNo; StockHeader.DivisionId = StockViewModel_New.DivisionId; StockHeader.SiteId = StockViewModel_New.SiteId; StockHeader.CurrencyId = StockViewModel_New.CurrencyId; StockHeader.PersonId = StockViewModel_New.PersonId; StockHeader.ProcessId = StockViewModel_New.HeaderProcessId; StockHeader.FromGodownId = StockViewModel_New.HeaderFromGodownId; StockHeader.GodownId = StockViewModel_New.HeaderGodownId; StockHeader.Remark = StockViewModel_New.Remark; StockHeader.Status = StockViewModel_New.Status; StockHeader.CreatedBy = StockViewModel_New.CreatedBy; StockHeader.CreatedDate = StockViewModel_New.CreatedDate; StockHeader.ModifiedBy = StockViewModel_New.ModifiedBy; StockHeader.ModifiedDate = StockViewModel_New.ModifiedDate; _stockHeaderService.Update(StockHeader); } } } else { StockHeader = _stockHeaderService.FindByDocHeader(StockViewModel_Old.DocHeaderId, StockViewModel_Old.StockHeaderId, StockViewModel_Old.DocTypeId, StockViewModel_Old.SiteId, StockViewModel_Old.DivisionId); } if (StockViewModel_Old != null) { Stock Stock_Old = Find(StockViewModel_Old.StockHeaderId, StockViewModel_Old.ProductId, StockViewModel_Old.StockDocDate, StockViewModel_Old.Dimension1Id, StockViewModel_Old.Dimension2Id, StockViewModel_Old.ProcessId, StockViewModel_Old.LotNo, StockViewModel_Old.GodownId, StockViewModel_Old.CostCenterId); if (Stock_Old != null) { Stock_Old.Qty_Iss = Stock_Old.Qty_Iss - StockViewModel_Old.Qty_Iss; Stock_Old.Qty_Rec = Stock_Old.Qty_Rec - StockViewModel_Old.Qty_Rec; Stock_Old.Rate = StockViewModel_Old.Rate; Stock_Old.ExpiryDate = StockViewModel_Old.ExpiryDate; Stock_Old.Specification = StockViewModel_Old.Specification; Update(Stock_Old); //if (Stock_Old.Qty_Iss == 0 && Stock_Old.Qty_Rec == 0) { Delete(Stock_Old); } //else { Update(Stock_Old); } StockBalance StockBalance_Old = FindStockBalance(StockViewModel_Old.ProductId, StockViewModel_Old.Dimension1Id, StockViewModel_Old.Dimension2Id, StockViewModel_Old.ProcessId, StockViewModel_Old.LotNo, StockViewModel_Old.GodownId, StockViewModel_Old.CostCenterId); if (StockBalance_Old != null) { StockBalance_Old.Qty = StockBalance_Old.Qty - StockViewModel_Old.Qty_Rec; StockBalance_Old.Qty = StockBalance_Old.Qty + StockViewModel_Old.Qty_Iss; if (StockBalance_Old.Qty == 0) { _stockBalanceService.Delete(StockBalance_Old); } else { _stockBalanceService.Update(StockBalance_Old); } } } } if (StockViewModel_New != null) { Stock Stock_New; if (StockHeader != null) { Stock_New = Find(StockHeader.StockHeaderId, StockViewModel_New.ProductId, StockViewModel_New.StockDocDate, StockViewModel_New.Dimension1Id, StockViewModel_New.Dimension2Id, StockViewModel_New.ProcessId, StockViewModel_New.LotNo, StockViewModel_New.GodownId, StockViewModel_New.CostCenterId); } else { Stock_New = null; } if (Stock_New == null) { Stock L = new Stock(); L.DocDate = StockViewModel_New.StockDocDate; L.ProductId = StockViewModel_New.ProductId; L.ProcessId = StockViewModel_New.ProcessId; L.GodownId = StockViewModel_New.GodownId; L.LotNo = StockViewModel_New.LotNo; L.CostCenterId = StockViewModel_New.CostCenterId; L.Qty_Iss = StockViewModel_New.Qty_Iss; L.Qty_Rec = StockViewModel_New.Qty_Rec; L.Rate = StockViewModel_New.Rate; L.ExpiryDate = StockViewModel_New.ExpiryDate; L.Specification = StockViewModel_New.Specification; L.Dimension1Id = StockViewModel_New.Dimension1Id; L.Dimension2Id = StockViewModel_New.Dimension2Id; L.CreatedBy = StockViewModel_New.CreatedBy; L.CreatedDate = StockViewModel_New.CreatedDate; L.ModifiedBy = StockViewModel_New.ModifiedBy; L.ModifiedDate = StockViewModel_New.ModifiedDate; if (StockHeader != null) { L.StockHeaderId = StockHeader.StockHeaderId; } Create(L); } else { Stock_New.Qty_Iss = Stock_New.Qty_Iss + StockViewModel_New.Qty_Iss; Stock_New.Qty_Rec = Stock_New.Qty_Rec + StockViewModel_New.Qty_Rec; Stock_New.Rate = StockViewModel_New.Rate; Stock_New.ExpiryDate = StockViewModel_New.ExpiryDate; Stock_New.Specification = StockViewModel_New.Specification; Stock_New.ModifiedBy = StockViewModel_New.ModifiedBy; Stock_New.ModifiedDate = StockViewModel_New.ModifiedDate; Update(Stock_New); } StockBalance StockBalance_New = FindStockBalance(StockViewModel_New.ProductId, StockViewModel_New.Dimension1Id, StockViewModel_New.Dimension2Id, StockViewModel_New.ProcessId, StockViewModel_New.LotNo, StockViewModel_New.GodownId, StockViewModel_New.CostCenterId); if (StockBalance_New == null) { StockBalance Sb = new StockBalance(); Sb.ProductId = StockViewModel_New.ProductId; Sb.Dimension1Id = StockViewModel_New.Dimension1Id; Sb.Dimension2Id = StockViewModel_New.Dimension2Id; Sb.ProcessId = StockViewModel_New.ProcessId; Sb.GodownId = StockViewModel_New.GodownId; Sb.CostCenterId = StockViewModel_New.CostCenterId; Sb.LotNo = StockViewModel_New.LotNo; if (StockViewModel_New.Qty_Iss != 0) { Sb.Qty = StockViewModel_New.Qty_Iss; } if (StockViewModel_New.Qty_Rec != 0) { Sb.Qty = StockViewModel_New.Qty_Rec; } _stockBalanceService.Create(Sb); } else { StockBalance_New.Qty = StockBalance_New.Qty + StockViewModel_New.Qty_Rec; StockBalance_New.Qty = StockBalance_New.Qty - StockViewModel_New.Qty_Iss; _stockBalanceService.Update(StockBalance_New); } } return(ErrorText); }
public ActionResult Delete(ReasonViewModel vm) { if (ModelState.IsValid) { db.Configuration.AutoDetectChangesEnabled = false; PackingHeader Sd = (from H in db.PackingHeader where H.PackingHeaderId == vm.id select H).FirstOrDefault(); var PackingLine = (from L in db.PackingLine where L.PackingHeaderId == vm.id select L).ToList(); List <int> StockIdList = new List <int>(); int cnt = 0; foreach (var item in PackingLine) { if (item.StockIssueId != null) { StockIdList.Add((int)item.StockIssueId); } cnt = cnt + 1; try { item.ObjectState = Model.ObjectState.Deleted; db.PackingLine.Attach(item); db.PackingLine.Remove(item); } catch (Exception e) { string str = e.Message; } } foreach (var item in StockIdList) { if (item != null) { StockAdj Adj = (from L in db.StockAdj where L.StockOutId == item select L).FirstOrDefault(); if (Adj != null) { new StockAdjService(_unitOfWork).Delete(Adj); } new StockService(_unitOfWork).DeleteStockDB((int)item, ref db, true); } } int?StockHeaderId = null; StockHeaderId = Sd.StockHeaderId; Sd.ObjectState = Model.ObjectState.Deleted; db.PackingHeader.Attach(Sd); db.PackingHeader.Remove(Sd); if (StockHeaderId != null) { StockHeader StockHeader = (from H in db.StockHeader where H.StockHeaderId == StockHeaderId select H).FirstOrDefault(); StockHeader.ObjectState = Model.ObjectState.Deleted; db.StockHeader.Attach(StockHeader); db.StockHeader.Remove(StockHeader); } //Commit the DB try { db.SaveChanges(); db.Configuration.AutoDetectChangesEnabled = true; } catch (Exception ex) { string message = _exception.HandleException(ex); db.Configuration.AutoDetectChangesEnabled = true; TempData["CSEXC"] += message; PrepareViewBag(Sd.DocTypeId); return(PartialView("_Reason", vm)); } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = Sd.DocTypeId, DocId = Sd.PackingHeaderId, ActivityType = (int)ActivityTypeContants.Deleted, UserRemark = vm.Reason, DocNo = Sd.DocNo, DocDate = Sd.DocDate, DocStatus = Sd.Status, })); return(Json(new { success = true })); } return(PartialView("_Reason", vm)); }
public string InsertStock(StockHeader header, string User) { string err = ""; try { conn.BeginTransaction(); DataSet ds = new DataSet(); Int32 HeaderID = 0; bool chk = false; List <SqlParameter> param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "StockType", Value = header.StockType }); param.Add(new SqlParameter() { ParameterName = "StockTime", Value = header.StockTime }); param.Add(new SqlParameter() { ParameterName = "Remark", Value = header.Remark }); param.Add(new SqlParameter() { ParameterName = "CreatedBy", Value = User }); conn.CallStoredProcedure("InsStockHeader", param, out ds, out err); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && string.IsNullOrEmpty(err) && header.detail != null && header.detail.Count > 0) { HeaderID = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString()); string cal = header.StockType == "IN" ? "+" : "-"; foreach (StockDetail item in header.detail) { param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "StockHeaderID", Value = HeaderID }); param.Add(new SqlParameter() { ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "Amount", Value = item.Amount, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "CAL", Value = cal }); param.Add(new SqlParameter() { ParameterName = "SerialNumber", Value = item.SNConcat }); conn.CallStoredProcedure("InsStockDetail", param, out err); if (item.lstSerial != null && item.lstSerial.Count > 0) { foreach (TransProductSerial tps in item.lstSerial) { ds = new DataSet(); param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "SerialNumber", Value = tps.SerialNumber }); param.Add(new SqlParameter() { ParameterName = "CAL", Value = cal }); conn.CallStoredProcedure("InsTransProductSerial", param, out ds, out err); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null) { err = err + tps.SerialNumber + ", "; chk = true; } } if (chk) { err = "ไม่พบ S/N หมายเลข : " + err.Substring(0, err.Length - 2); } } } } if (string.IsNullOrEmpty(err)) { conn.Commit(); } else { conn.RollBack(); } } catch (Exception ex) { err = ex.Message; } return(err); }
public ActionResult Delete(ReasonViewModel vm) { bool BeforeSave = true; try { BeforeSave = StockHeaderDocEvents.beforeHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { TempData["CSEXC"] += "Failed validation before delete"; } StockHeader StockHeader = (from p in context.StockHeader where p.StockHeaderId == vm.id select p).FirstOrDefault(); var GatePassHeader = (from p in context.GatePassHeader where p.GatePassHeaderId == StockHeader.GatePassHeaderId select p).FirstOrDefault(); if (GatePassHeader != null && GatePassHeader.Status == (int)StatusConstants.Submitted) { BeforeSave = false; TempData["CSEXC"] += "Cannot delete record because gatepass is submitted."; } if (ModelState.IsValid && BeforeSave && !EventException) { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); try { StockHeaderDocEvents.onHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } StockHeader ExRec = new StockHeader(); ExRec = Mapper.Map <StockHeader>(StockHeader); StockHeader Rec = new StockHeader(); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = Rec, }); var StockLine = (from p in context.StockLine where p.StockHeaderId == vm.id select p).ToList(); //Mark ObjectState.Delete to all the Purchase Order Lines. foreach (var item in StockLine) { StockLine ExRecLine = new StockLine(); ExRecLine = Mapper.Map <StockLine>(item); StockLine RecLine = new StockLine(); LogList.Add(new LogTypeViewModel { ExObj = ExRecLine, Obj = RecLine, }); item.ObjectState = Model.ObjectState.Deleted; context.StockLine.Remove(item); } var GatePassHeaderId = StockHeader.GatePassHeaderId; StockHeader.ObjectState = Model.ObjectState.Deleted; context.StockHeader.Remove(StockHeader); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); //Commit the DB try { if (EventException) { throw new Exception(); } context.SaveChanges(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; return(PartialView("_Reason", vm)); } try { StockHeaderDocEvents.afterHeaderDeleteEvent(this, new StockEventArgs(vm.id), ref context); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = StockHeader.DocTypeId, DocId = StockHeader.StockHeaderId, ActivityType = (int)ActivityTypeContants.Deleted, UserRemark = vm.Reason, DocNo = StockHeader.DocNo, xEModifications = Modifications, DocDate = StockHeader.DocDate, DocStatus = StockHeader.Status, })); return(Json(new { success = true })); } return(PartialView("_Reason", vm)); }
public void Update(RecipeLineViewModel svm, string UserName) { StockLine s = Mapper.Map <RecipeLineViewModel, StockLine>(svm); StockHeader temp = _StockHeaderRepository.Find(svm.StockHeaderId); List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); StockLine templine = Find(s.StockLineId); StockLine ExTempLine = new StockLine(); ExTempLine = Mapper.Map <StockLine>(templine); if (templine.StockId != null) { StockViewModel StockViewModel = new StockViewModel(); StockViewModel.StockHeaderId = temp.StockHeaderId; StockViewModel.StockId = templine.StockId ?? 0; StockViewModel.DocHeaderId = templine.StockHeaderId; StockViewModel.DocLineId = templine.StockLineId; StockViewModel.DocTypeId = temp.DocTypeId; StockViewModel.StockHeaderDocDate = temp.DocDate; StockViewModel.StockDocDate = templine.CreatedDate.Date; StockViewModel.DocNo = temp.DocNo; StockViewModel.DivisionId = temp.DivisionId; StockViewModel.SiteId = temp.SiteId; StockViewModel.CurrencyId = null; StockViewModel.HeaderProcessId = temp.ProcessId; StockViewModel.PersonId = temp.PersonId; StockViewModel.ProductId = s.ProductId; StockViewModel.HeaderFromGodownId = null; StockViewModel.HeaderGodownId = temp.GodownId; StockViewModel.GodownId = temp.GodownId ?? 0; StockViewModel.ProcessId = templine.FromProcessId; StockViewModel.LotNo = templine.LotNo; StockViewModel.CostCenterId = temp.CostCenterId; StockViewModel.Qty_Iss = s.Qty; StockViewModel.Qty_Rec = 0; StockViewModel.Rate = templine.Rate; StockViewModel.ExpiryDate = null; StockViewModel.Specification = templine.Specification; StockViewModel.Dimension1Id = templine.Dimension1Id; StockViewModel.Dimension2Id = templine.Dimension2Id; StockViewModel.Remark = s.Remark; StockViewModel.ProductUidId = s.ProductUidId; StockViewModel.Status = temp.Status; StockViewModel.CreatedBy = templine.CreatedBy; StockViewModel.CreatedDate = templine.CreatedDate; StockViewModel.ModifiedBy = UserName; StockViewModel.ModifiedDate = DateTime.Now; string StockPostingError = ""; StockPostingError = _stockService.StockPostDB(ref StockViewModel); } if (templine.StockProcessId != null) { StockProcessViewModel StockProcessViewModel = new StockProcessViewModel(); StockProcessViewModel.StockHeaderId = temp.StockHeaderId; StockProcessViewModel.StockProcessId = templine.StockProcessId ?? 0; StockProcessViewModel.DocHeaderId = templine.StockHeaderId; StockProcessViewModel.DocLineId = templine.StockLineId; StockProcessViewModel.DocTypeId = temp.DocTypeId; StockProcessViewModel.StockHeaderDocDate = temp.DocDate; StockProcessViewModel.StockProcessDocDate = templine.CreatedDate.Date; StockProcessViewModel.DocNo = temp.DocNo; StockProcessViewModel.DivisionId = temp.DivisionId; StockProcessViewModel.SiteId = temp.SiteId; StockProcessViewModel.CurrencyId = null; StockProcessViewModel.HeaderProcessId = temp.ProcessId; StockProcessViewModel.PersonId = temp.PersonId; StockProcessViewModel.ProductId = s.ProductId; StockProcessViewModel.HeaderFromGodownId = null; StockProcessViewModel.HeaderGodownId = temp.GodownId; StockProcessViewModel.GodownId = temp.GodownId ?? 0; StockProcessViewModel.ProcessId = temp.ProcessId; StockProcessViewModel.LotNo = templine.LotNo; StockProcessViewModel.CostCenterId = temp.CostCenterId; StockProcessViewModel.Qty_Iss = 0; StockProcessViewModel.Qty_Rec = s.Qty; StockProcessViewModel.Rate = templine.Rate; StockProcessViewModel.ExpiryDate = null; StockProcessViewModel.Specification = templine.Specification; StockProcessViewModel.Dimension1Id = templine.Dimension1Id; StockProcessViewModel.Dimension2Id = templine.Dimension2Id; StockProcessViewModel.Remark = s.Remark; StockProcessViewModel.ProductUidId = s.ProductUidId; StockProcessViewModel.Status = temp.Status; StockProcessViewModel.CreatedBy = templine.CreatedBy; StockProcessViewModel.CreatedDate = templine.CreatedDate; StockProcessViewModel.ModifiedBy = UserName; StockProcessViewModel.ModifiedDate = DateTime.Now; string StockProcessPostingError = ""; StockProcessPostingError = _stockProcessService.StockProcessPostDB(ref StockProcessViewModel); } templine.ProductId = s.ProductId; templine.ProductUidId = s.ProductUidId; templine.LotNo = s.LotNo; templine.FromProcessId = s.FromProcessId; templine.Rate = s.Rate; templine.Amount = s.Amount; templine.Remark = s.Remark; templine.Qty = s.Qty; templine.Remark = s.Remark; templine.Dimension1Id = s.Dimension1Id; templine.Dimension2Id = s.Dimension2Id; templine.Specification = s.Specification; templine.ModifiedDate = DateTime.Now; templine.ModifiedBy = UserName; templine.ObjectState = Model.ObjectState.Modified; Update(templine); StockLineExtended LineExtended = _StockLineExtendedService.Find(templine.StockLineId); LineExtended.StockLineId = templine.StockLineId; LineExtended.DyeingRatio = svm.DyeingRatio; LineExtended.TestingQty = svm.TestingQty; LineExtended.DocQty = svm.DocQty; LineExtended.ExcessQty = svm.ExcessQty; LineExtended.ObjectState = Model.ObjectState.Modified; _StockLineExtendedService.Update(LineExtended); int Status = 0; if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import) { Status = temp.Status; temp.Status = (int)StatusConstants.Modified; temp.ModifiedBy = UserName; temp.ModifiedDate = DateTime.Now; } temp.ObjectState = Model.ObjectState.Modified; _StockHeaderRepository.Update(temp); LogList.Add(new LogTypeViewModel { ExObj = ExTempLine, Obj = templine }); XElement Modifications = _modificationCheck.CheckChanges(LogList); _unitOfWork.Save(); _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = temp.DocTypeId, DocId = templine.StockHeaderId, DocLineId = templine.StockLineId, ActivityType = (int)ActivityTypeContants.Modified, DocNo = temp.DocNo, xEModifications = Modifications, DocDate = temp.DocDate, DocStatus = temp.Status, })); }
public void Delete(RecipeLineViewModel vm, string UserName) { int?StockId = 0; int?StockProcessId = 0; List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); StockLine StockLine = Find(vm.StockLineId); StockHeader header = _StockHeaderRepository.Find(StockLine.StockHeaderId); StockId = StockLine.StockId; StockProcessId = StockLine.StockProcessId; LogList.Add(new LogTypeViewModel { Obj = Mapper.Map <StockLine>(StockLine), }); _StockLineExtendedService.Delete(StockLine.StockLineId); //_RecipeLineService.Delete(StockLine); StockLine.ObjectState = Model.ObjectState.Deleted; Delete(StockLine); if (StockId != null) { _stockService.DeleteStock((int)StockId); } if (StockProcessId != null) { _stockProcessService.DeleteStockProcessDB((int)StockProcessId); } if (header.Status != (int)StatusConstants.Drafted && header.Status != (int)StatusConstants.Import) { header.Status = (int)StatusConstants.Modified; header.ModifiedDate = DateTime.Now; header.ModifiedBy = UserName; _StockHeaderRepository.Update(header); } XElement Modifications = _modificationCheck.CheckChanges(LogList); _unitOfWork.Save(); //Saving the Activity Log _logger.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = header.DocTypeId, DocId = header.StockHeaderId, DocLineId = StockLine.StockLineId, ActivityType = (int)ActivityTypeContants.Deleted, DocNo = header.DocNo, xEModifications = Modifications, DocDate = header.DocDate, DocStatus = header.Status, })); }
public void Update(StockHeader s) { s.ObjectState = ObjectState.Modified; _unitOfWork.Repository <StockHeader>().Update(s); }
public ActionResult Post(StockHeaderViewModel svm) { StockHeader s = Mapper.Map <StockHeaderViewModel, StockHeader>(svm); #region BeforeSave bool BeforeSave = true; try { if (svm.StockHeaderId <= 0) { BeforeSave = JobConsumptionDocEvents.beforeHeaderSaveEvent(this, new StockEventArgs(svm.StockHeaderId, EventModeConstants.Add), ref db); } else { BeforeSave = JobConsumptionDocEvents.beforeHeaderSaveEvent(this, new StockEventArgs(svm.StockHeaderId, EventModeConstants.Edit), ref db); } } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } if (!BeforeSave) { TempData["CSEXC"] += "Failed validation before save"; } #endregion #region DocTypeTimeLineValidation try { if (svm.StockHeaderId <= 0) { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), DocumentTimePlanTypeConstants.Create, User.Identity.Name, out ExceptionMsg, out Continue); } else { TimePlanValidation = DocumentValidation.ValidateDocument(Mapper.Map <DocumentUniqueId>(svm), 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 (svm.StockHeaderSettings != null) { if (svm.StockHeaderSettings.isMandatoryMachine == true && (svm.MachineId <= 0 || svm.MachineId == null)) { ModelState.AddModelError("MachineId", "The Machine field is required"); } } if (ModelState.IsValid && BeforeSave && !EventException && (TimePlanValidation || Continue)) { #region CreateRecord if (svm.StockHeaderId <= 0) { s.CreatedDate = DateTime.Now; s.ModifiedDate = DateTime.Now; s.CreatedBy = User.Identity.Name; s.ModifiedBy = User.Identity.Name; s.Status = (int)StatusConstants.Drafted; s.ObjectState = Model.ObjectState.Added; db.StockHeader.Add(s); //_StockHeaderService.Create(s); try { JobConsumptionDocEvents.onHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Add), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; PrepareViewBag(svm.DocTypeId); ViewBag.Mode = "Add"; return(View("Create", svm)); } try { JobConsumptionDocEvents.afterHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Add), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; } LogActivity.LogActivityDetail(LogVm.Map(new ActiivtyLogViewModel { DocTypeId = s.DocTypeId, DocId = s.StockHeaderId, ActivityType = (int)ActivityTypeContants.Added, DocNo = s.DocNo, DocDate = s.DocDate, DocStatus = s.Status, })); return(RedirectToAction("Modify", "JobConsumptionHeader", new { Id = s.StockHeaderId }).Success("Data saved successfully")); } #endregion #region EditRecord else { List <LogTypeViewModel> LogList = new List <LogTypeViewModel>(); StockHeader temp = _StockHeaderService.Find(s.StockHeaderId); StockHeader ExRec = new StockHeader(); ExRec = Mapper.Map <StockHeader>(temp); int status = temp.Status; if (temp.Status != (int)StatusConstants.Drafted && temp.Status != (int)StatusConstants.Import) { temp.Status = (int)StatusConstants.Modified; } temp.DocDate = s.DocDate; temp.DocNo = s.DocNo; temp.CostCenterId = s.CostCenterId; temp.MachineId = s.MachineId; temp.PersonId = s.PersonId; temp.ProcessId = s.ProcessId; temp.GodownId = s.GodownId; temp.Remark = s.Remark; temp.ModifiedDate = DateTime.Now; temp.ModifiedBy = User.Identity.Name; temp.ObjectState = Model.ObjectState.Modified; db.StockHeader.Add(temp); //_StockHeaderService.Update(temp); LogList.Add(new LogTypeViewModel { ExObj = ExRec, Obj = temp, }); XElement Modifications = new ModificationsCheckService().CheckChanges(LogList); try { JobConsumptionDocEvents.onHeaderSaveEvent(this, new StockEventArgs(temp.StockHeaderId, EventModeConstants.Edit), ref db); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; EventException = true; } try { if (EventException) { throw new Exception(); } db.SaveChanges(); //_unitOfWork.Save(); } catch (Exception ex) { string message = _exception.HandleException(ex); TempData["CSEXC"] += message; PrepareViewBag(svm.DocTypeId); ViewBag.id = svm.DocTypeId; return(View("Create", svm)); } try { JobConsumptionDocEvents.afterHeaderSaveEvent(this, new StockEventArgs(s.StockHeaderId, EventModeConstants.Edit), 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.Modified, DocNo = temp.DocNo, xEModifications = Modifications, DocDate = temp.DocDate, DocStatus = temp.Status, })); return(RedirectToAction("Index", new { id = svm.DocTypeId }).Success("Data saved successfully")); } #endregion } PrepareViewBag(svm.DocTypeId); ViewBag.Mode = "Add"; return(View("Create", svm)); }
public string StockPostDB(ref StockViewModel StockViewModel) { string ErrorText = ""; if (StockViewModel.StockHeaderId == 0) { StockHeader H = new StockHeader(); H.DocHeaderId = StockViewModel.DocHeaderId; H.DocTypeId = StockViewModel.DocTypeId; H.DocDate = StockViewModel.StockHeaderDocDate; H.DocNo = StockViewModel.DocNo; H.DivisionId = StockViewModel.DivisionId; H.SiteId = StockViewModel.SiteId; H.CurrencyId = StockViewModel.CurrencyId; H.PersonId = StockViewModel.PersonId; H.ProcessId = StockViewModel.HeaderProcessId; H.FromGodownId = StockViewModel.HeaderFromGodownId; H.GodownId = StockViewModel.HeaderGodownId; H.Remark = StockViewModel.HeaderRemark; H.Status = StockViewModel.Status; H.CreatedBy = StockViewModel.CreatedBy; H.CreatedDate = StockViewModel.CreatedDate; H.ModifiedBy = StockViewModel.ModifiedBy; H.ModifiedDate = StockViewModel.ModifiedDate; H.ObjectState = Model.ObjectState.Added; _stockHeaderService.Create(H); StockViewModel.StockHeaderId = H.StockHeaderId; } if (StockViewModel.StockId <= 0) { Stock L = new Stock(); if (StockViewModel.StockHeaderId != 0 && StockViewModel.StockHeaderId != -1) { L.StockHeaderId = StockViewModel.StockHeaderId; } L.StockId = StockViewModel.StockId; L.DocDate = StockViewModel.StockHeaderDocDate; L.ProductId = StockViewModel.ProductId; L.ProcessId = StockViewModel.ProcessId; L.GodownId = StockViewModel.GodownId; L.LotNo = StockViewModel.LotNo; L.ProductUidId = StockViewModel.ProductUidId; L.CostCenterId = StockViewModel.CostCenterId; L.Qty_Iss = StockViewModel.Qty_Iss; L.Qty_Rec = StockViewModel.Qty_Rec; L.Rate = StockViewModel.Rate; L.ExpiryDate = StockViewModel.ExpiryDate; L.Specification = StockViewModel.Specification; L.Dimension1Id = StockViewModel.Dimension1Id; L.Dimension2Id = StockViewModel.Dimension2Id; L.Remark = StockViewModel.Remark; L.CreatedBy = StockViewModel.CreatedBy; L.CreatedDate = StockViewModel.CreatedDate; L.ModifiedBy = StockViewModel.ModifiedBy; L.ModifiedDate = StockViewModel.ModifiedDate; L.ObjectState = Model.ObjectState.Added; Create(L); //new StockBalanceService(_unitOfWork).UpdateStockBalance(L); StockBalance StockBalance = _stockBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId); if (StockBalance == null) { StockBalance StockBalance_NewRecord = new StockBalance(); StockBalance_NewRecord.ProductId = L.ProductId; StockBalance_NewRecord.Dimension1Id = L.Dimension1Id; StockBalance_NewRecord.Dimension2Id = L.Dimension2Id; StockBalance_NewRecord.ProcessId = L.ProcessId; StockBalance_NewRecord.GodownId = L.GodownId; StockBalance_NewRecord.CostCenterId = L.CostCenterId; StockBalance_NewRecord.LotNo = L.LotNo; if (L.Qty_Iss != 0) { StockBalance_NewRecord.Qty = -L.Qty_Iss; } if (L.Qty_Rec != 0) { StockBalance_NewRecord.Qty = L.Qty_Rec; } StockBalance_NewRecord.ObjectState = Model.ObjectState.Added; _stockBalanceService.Create(StockBalance_NewRecord); } else { StockBalance.Qty = StockBalance.Qty - L.Qty_Iss; StockBalance.Qty = StockBalance.Qty + L.Qty_Rec; StockBalance.ObjectState = Model.ObjectState.Modified; _stockBalanceService.Update(StockBalance); } StockViewModel.StockId = L.StockId; } else { Stock L = Find(StockViewModel.StockId); //To Rollback Chenges in Stock Balance done by old entry. Stock Temp = new Stock(); Temp.ProductId = L.ProductId; Temp.Dimension1Id = L.Dimension1Id; Temp.Dimension2Id = L.Dimension2Id; Temp.ProcessId = L.ProcessId; Temp.GodownId = L.GodownId; Temp.CostCenterId = L.CostCenterId; Temp.LotNo = L.LotNo; Temp.Qty_Iss = L.Qty_Iss; Temp.Qty_Rec = L.Qty_Rec; L.DocDate = StockViewModel.StockDocDate; L.ProductId = StockViewModel.ProductId; L.ProcessId = StockViewModel.ProcessId; L.GodownId = StockViewModel.GodownId; L.LotNo = StockViewModel.LotNo; L.CostCenterId = StockViewModel.CostCenterId; L.Qty_Iss = StockViewModel.Qty_Iss; L.Qty_Rec = StockViewModel.Qty_Rec; L.Rate = StockViewModel.Rate; L.ExpiryDate = StockViewModel.ExpiryDate; L.Specification = StockViewModel.Specification; L.Dimension1Id = StockViewModel.Dimension1Id; L.Dimension2Id = StockViewModel.Dimension2Id; L.Remark = StockViewModel.Remark; L.CreatedBy = StockViewModel.CreatedBy; L.CreatedDate = StockViewModel.CreatedDate; L.ModifiedBy = StockViewModel.ModifiedBy; L.ModifiedDate = StockViewModel.ModifiedDate; L.ObjectState = Model.ObjectState.Modified; Update(L); //new StockBalanceService(_unitOfWork).UpdateStockBalance(L); StockBalance StockBalance_Old = _stockBalanceService.Find(Temp.ProductId, Temp.Dimension1Id, Temp.Dimension2Id, Temp.ProcessId, Temp.LotNo, Temp.GodownId, Temp.CostCenterId); if (StockBalance_Old != null) { StockBalance_Old.Qty = StockBalance_Old.Qty - Temp.Qty_Rec; StockBalance_Old.Qty = StockBalance_Old.Qty + Temp.Qty_Iss; StockBalance_Old.ObjectState = Model.ObjectState.Modified; _stockBalanceService.Update(StockBalance_Old); } StockBalance StockBalance_New = _stockBalanceService.Find(L.ProductId, L.Dimension1Id, L.Dimension2Id, L.ProcessId, L.LotNo, L.GodownId, L.CostCenterId); if (StockBalance_New == null) { StockBalance StockBalance_NewRecord = new StockBalance(); StockBalance_NewRecord.ProductId = L.ProductId; StockBalance_NewRecord.Dimension1Id = L.Dimension1Id; StockBalance_NewRecord.Dimension2Id = L.Dimension2Id; StockBalance_NewRecord.ProcessId = L.ProcessId; StockBalance_NewRecord.GodownId = L.GodownId; StockBalance_NewRecord.CostCenterId = L.CostCenterId; StockBalance_NewRecord.LotNo = L.LotNo; if (L.Qty_Iss != 0) { StockBalance_NewRecord.Qty = -L.Qty_Iss; } if (L.Qty_Rec != 0) { StockBalance_NewRecord.Qty = L.Qty_Rec; } StockBalance_NewRecord.ObjectState = Model.ObjectState.Added; _stockBalanceService.Create(StockBalance_NewRecord); } else { StockBalance_New.Qty = StockBalance_New.Qty - L.Qty_Iss; StockBalance_New.Qty = StockBalance_New.Qty + L.Qty_Rec; StockBalance_New.ObjectState = Model.ObjectState.Modified; _stockBalanceService.Update(StockBalance_New); } StockViewModel.StockId = L.StockId; } return(ErrorText); }
public string InsertStockHeadQ(StockHeader header, string User, ref string result, ref List <string> errSN) { string err = ""; try { result = ""; conn.BeginTransaction(); DataSet ds = new DataSet(); Int32 HeaderID = 0; List <SqlParameter> param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "StockType", Value = header.StockType }); param.Add(new SqlParameter() { ParameterName = "StockTime", Value = header.StockTime }); param.Add(new SqlParameter() { ParameterName = "Remark", Value = header.Remark }); param.Add(new SqlParameter() { ParameterName = "CreatedBy", Value = User }); conn.CallStoredProcedure("InsStockHeadQHeader", param, out ds, out err); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null && string.IsNullOrEmpty(err) && header.detail != null && header.detail.Count > 0) { HeaderID = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString()); string cal = ""; switch (header.StockType) { case "IN": cal = "+"; break; case "OUT": cal = "-"; break; case "TRANSFER": cal = "+-"; break; default: cal = ""; break; } //header.StockType == "IN" ? "+" : "-"; foreach (StockDetail item in header.detail) { param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "StockHeaderID", Value = HeaderID }); param.Add(new SqlParameter() { ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "Amount", Value = item.Amount, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "CAL", Value = cal }); param.Add(new SqlParameter() { ParameterName = "SerialNumber", Value = item.SNConcat }); conn.CallStoredProcedure("InsStockHeadQDetail", param, out err); if (item.lstSerial != null && item.lstSerial.Count > 0) { foreach (TransProductSerial tps in item.lstSerial) { ds = new DataSet(); param = new List <SqlParameter>(); param.Add(new SqlParameter() { ParameterName = "ProductID", Value = item.ProductID, DbType = DbType.Int32 }); param.Add(new SqlParameter() { ParameterName = "SerialNumber", Value = tps.SerialNumber }); param.Add(new SqlParameter() { ParameterName = "CAL", Value = cal }); conn.CallStoredProcedure("InsTransProductSerial", param, out ds, out err); if (!string.IsNullOrEmpty(err)) { errSN.Add(err); break; } if (ds != null && ds.Tables.Count > 0 && ds.Tables[0] != null) { result = result + "Product Name : " + item.ProductName + " --> " + ds.Tables[0].Rows[0][0].ToString() + "\\r"; } } } } } if (string.IsNullOrEmpty(err) && string.IsNullOrEmpty(result)) { conn.Commit(); } else { conn.RollBack(); } } catch (Exception ex) { err = ex.Message; } return(err); }
protected void btnSend_Click(object sender, EventArgs e) { string mark = GetQueryValue("mark"); List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList(); if (newAddedList.Count == 0) { ShowNotify("没有要提交的数据"); return; } StockHeader stockHeader = new StockHeader(); if (mark == "02") { stockHeader.title = "委外进货单"; } else if (mark == "03") { stockHeader.title = "委外出货单"; } stockHeader.optdate = DateTime.Now; //执行存储过程获取流水号 SQLHelper.DbHelperSQL.SetConnectionString(""); object[] obj = new object[] { "WW" }; DataTable dt = SQLHelper.DbHelperSQL.ExecuteProc_ReturnDataTable("GetSeq", obj, 10); string prosn = dt.Rows[0][0].ToString(); string StockHeaderProsn = "WW" + prosn; ShowNotify(StockHeaderProsn); stockHeader.StockHeaderProsn = StockHeaderProsn; stockHeader.jingbanren = GetChineseName(); MYDB.StockHeaders.Add(stockHeader); for (int i = 0; i < newAddedList.Count; i++) { SendOutStockList item = new SendOutStockList(); item.Barcode = newAddedList[i]["barcode"].ToString(); //订单号 item.StockOrderNo = newAddedList[i]["saleno"].ToString(); item.SendOutOrderNo = newAddedList[i]["orderno"].ToString(); item.ItemNo = newAddedList[i]["itemno"].ToString(); item.ProNo = newAddedList[i]["prono"].ToString(); item.ItemName = newAddedList[i]["itemname"].ToString(); item.Spec = newAddedList[i]["spec"].ToString(); item.Quantity = decimal.Parse(newAddedList[i]["qut"].ToString()); item.Space = newAddedList[i]["space"].ToString(); item.Remark = newAddedList[i]["remark"].ToString(); if (mark == "02") { item.SendOutProperties = SendOutProperties.委外入库; } else { item.SendOutProperties = SendOutProperties.委外出库; } item.Mark = mark; item.Unit = newAddedList[i]["unit"].ToString(); item.PDate = DateTime.Now; item.StockHeaderProsn = StockHeaderProsn; MYDB.SendOutStockLists.Add(item); } MYDB.SaveChanges(); ShowNotify("提交成功"); //清除页面数据 PageContext.RegisterStartupScript("clearLocalStorage()"); }
protected void btnSend_Click(object sender, EventArgs e) { List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList(); if (newAddedList.Count == 0) { ShowNotify("没有要提交的数据"); return; } String status = GetQueryValue("status"); for (int i = 0; i < newAddedList.Count; i++) { string barcode = newAddedList[i]["barcode"].ToString(); MYDB.purchaseorderDetail.Where(u => u.BarCode == barcode).Update(u => new PurchaseOrderDetail { Status = int.Parse(status) }); } StockHeader stockHeader = new StockHeader(); stockHeader.title = "采购进货单"; stockHeader.optdate = DateTime.Now; //执行存储过程获取流水号 SQLHelper.DbHelperSQL.SetConnectionString(""); object[] obj = new object[] { "JH" }; DataTable dt = SQLHelper.DbHelperSQL.ExecuteProc_ReturnDataTable("GetSeq", obj, 10); string prosn = dt.Rows[0][0].ToString(); string StockHeaderProsn = "JH" + prosn; ShowNotify(StockHeaderProsn); stockHeader.StockHeaderProsn = StockHeaderProsn; stockHeader.jingbanren = GetChineseName(); MYDB.StockHeaders.Add(stockHeader); for (int i = 0; i < newAddedList.Count; i++) { PurchaseStockList item = new PurchaseStockList(); string barcode = newAddedList[i]["barcode"].ToString(); var purdetail = MYDB.purchaseorderDetail.Where(u => u.BarCode == barcode).FirstOrDefault(); item.Barcode = newAddedList[i]["barcode"].ToString(); //订单号 item.StockOrderNo = newAddedList[i]["saleno"].ToString(); item.PurOrderNo = newAddedList[i]["orderno"].ToString(); item.ItemNo = newAddedList[i]["itemno"].ToString(); item.ProNo = newAddedList[i]["prono"].ToString(); item.ItemName = newAddedList[i]["itemname"].ToString(); item.Spec = newAddedList[i]["spec"].ToString(); item.result = purdetail.result; item.ChoujianQut = purdetail.ChoujianQut; item.checkDate = purdetail.CheckDate; item.Quantity = decimal.Parse(newAddedList[i]["qut"].ToString()); item.Space = newAddedList[i]["space"].ToString(); item.Remark = newAddedList[i]["remark"].ToString(); item.PurchaseProperties = PurchaseProperties.采购入库; item.Mark = "02"; item.Unit = newAddedList[i]["unit"].ToString(); item.PDate = DateTime.Now; item.StockHeaderProsn = StockHeaderProsn; MYDB.PurchaseStockLists.Add(item); } MYDB.SaveChanges(); ShowNotify("提交成功"); //清除页面数据 PageContext.RegisterStartupScript("clearLocalStorage()"); }