private void buttonStockTransfer_Click(object sender, EventArgs e) { StockTransfer st = new StockTransfer(); st.MdiParent = this; st.Show(); }
public long Save(DateTime valueDate, string referenceNumber, string statementReference, string data) { try { Collection <StockAdjustmentDetail> stockTransferModels = GetModels(data); foreach (StockAdjustmentDetail model in stockTransferModels) { if (model.TransferTypeEnum == TransactionTypeEnum.Credit) { decimal existingQuantity = Items.CountItemInStock(AppUsers.GetCurrentUserDB(), model.ItemCode, model.UnitName, model.StoreName); if (existingQuantity < model.Quantity) { throw new MixERPException(string.Format(CultureInfo.CurrentCulture, Errors.InsufficientStockWarning, Conversion.TryCastInteger(existingQuantity), model.UnitName, model.ItemName)); } } } int officeId = AppUsers.GetCurrentLogin().View.OfficeId.ToInt(); int userId = AppUsers.GetCurrentLogin().View.UserId.ToInt(); long loginId = AppUsers.GetCurrentLogin().View.LoginId.ToLong(); return(StockTransfer.Add(AppUsers.GetCurrentUserDB(), officeId, userId, loginId, valueDate, referenceNumber, statementReference, stockTransferModels)); } catch (Exception ex) { Log.Warning("Could not save inventory transfer entry. {Exception}", ex); throw; } }
public void btnSave_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.txtBillCode.Text)) { using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString)) { if (!string.IsNullOrEmpty(Request.QueryString["StockTransferID"])) { var t = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == int.Parse(Request.QueryString["StockTransferID"])); //if (db.StorageIn.SingleOrDefault(u => u.StorageInCode == this.txtBillCode.Text.Trim()) != null) //{ // ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('单据编码重复!')</script>"); // return; //} t.CreateTime = this.DateTimeStorageIn.SelectedDate; t.StockTransferNum = this.txtBillCode.Text.Trim(); t.Remark = this.txtRemark.Text.Trim(); t.Creater = reEmpId(SPContext.Current.Web.CurrentUser.LoginName); db.SubmitChanges(); Response.Redirect("StockTransferManager.aspx"); } else { StockTransfer stt = new StockTransfer(); stt.CreateTime = this.DateTimeStorageIn.SelectedDate; stt.StockTransferNum = this.txtBillCode.Text.Trim(); stt.Remark = this.txtRemark.Text.Trim(); stt.Creater = reEmpId(SPContext.Current.Web.CurrentUser.LoginName); db.StockTransfer.InsertOnSubmit(stt); db.SubmitChanges(); Response.Redirect("StockTransferManager.aspx"); } } } }
protected void tbarbtnDelte_Click(object sender, EventArgs e) { int n = 0; List <CheckBox> listString = GetCheckedID(); foreach (CheckBox cb in listString) { //3表删除 using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString)) { int intID = int.Parse(cb.ToolTip); StockTransfer st = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == intID); var stds = db.StockTransferDetail.Where(a => a.StockTransferID == st.StockTransferID); var stts = db.StockTransferTask.Where(a => a.StockTransferID == st.StockTransferID && a.TaskInType == "移库任务"); //判断stts的数量 if (stts.ToList().Count > 0) { n++; continue; } db.StockTransferDetail.DeleteAllOnSubmit(stds); db.StockTransferTask.DeleteAllOnSubmit(stts); db.StockTransfer.DeleteOnSubmit(st); db.SubmitChanges(); } } if (n > 0) { ClientScript.RegisterClientScriptBlock(typeof(string), "提示", "<script>alert('所选择的调拨单中,有" + n.ToString() + "条记录已进入移库流程的不能删除!')</script>"); } //Response.Redirect("StockTransferManager.aspx"); Response.AddHeader("Refresh", "0"); }
private void loadAllItemsToView() { try { addStockTransfer.grid_itemFinder.IsEnabled = false; addStockTransfer.button_saveTransfer.IsEnabled = false; addStockTransfer.button_addItem.IsEnabled = false; addStockTransfer.dataGrid.IsEnabled = false; StockTransfer stockTransfer = getStockTransferById(addStockTransfer.SelectedStockTransferID); if (stockTransfer != null) { addStockTransfer.comboBox_from_selectStock.SelectedValue = stockTransfer.FromLocationId; addStockTransfer.comboBox_to_selectStock.SelectedValue = stockTransfer.ToLocationId; addStockTransfer.datePicker_date_selectStock.SelectedDate = stockTransfer.Date; addStockTransfer.textBox_carrierName_selectStock.Text = stockTransfer.Carrier; addStockTransfer.textBox_details_selectStock.Text = stockTransfer.Details; StockTransferItem sti = new StockTransferItem(); sti.StockTransferId = stockTransfer.Id; List <StockTransferItem> list = getTransferItem(sti); foreach (StockTransferItem stockTransferItem in list) { Item item = itemManagerImpl.getItemById(stockTransferItem.ItemId); addStockTransfer.DataTable.Rows.Add(stockTransferItem.Id, item.Name + " (" + companyManagerImpl.getCompanyNameById(item.CompanyId) + ")", stockTransferItem.Quantity); } } } catch (Exception) { } }
private StockTransfer getStockTransferForFilter() { StockTransfer stockTransfer = null; try { stockTransfer = new StockTransfer(); stockTransfer.FromLocationId = Convert.ToInt32(stockTransferHistory.comboBox_stockLocationFrom_filter.SelectedValue); stockTransfer.ToLocationId = Convert.ToInt32(stockTransferHistory.comboBox_stockLocationTo_filter.SelectedValue); if (stockTransferHistory.datePicker_from_filter.SelectedDate != null && stockTransferHistory.datePicker_to_filter.SelectedDate != null) { stockTransfer.addDateCondition("date", "BETWEEN", Convert.ToDateTime(stockTransferHistory.datePicker_from_filter.SelectedDate).ToString("yyyy-MM-dd"), Convert.ToDateTime(stockTransferHistory.datePicker_to_filter.SelectedDate).ToString("yyyy-MM-dd")); } else if (stockTransferHistory.datePicker_from_filter.SelectedDate != null) { stockTransfer.Date = Convert.ToDateTime(stockTransferHistory.datePicker_from_filter.SelectedDate); } else if (stockTransferHistory.datePicker_to_filter.SelectedDate != null) { stockTransfer.Date = Convert.ToDateTime(stockTransferHistory.datePicker_to_filter.SelectedDate); } stockTransfer.Carrier = "%" + stockTransferHistory.textBox_carrier_filter.TrimedText + "%"; stockTransfer.Details = "%" + stockTransferHistory.textBox_details_filter.Text + "%"; } catch (Exception) { } return(stockTransfer); }
public ActionResult Details(string stNo) { StockTransfer st = stRepo.GetByNo(stNo); ViewBag.CompanyId = Request.QueryString["companyId"]; return(View(st)); }
internal void setRowsCount() { try { StockTransfer stockTransfer = getStockTransferForFilter(); stockTransfer.RowsCount = 1; List <StockTransfer> list = getTransfer(stockTransfer); stockTransferHistory.Pagination.RowsCount = list[0].RowsCount; } catch (Exception) { } }
public void Update(StockTransfer stock) { using (IDbConnection dbConnection = Connection) { string sQuery = " UPDATE StockTransfer SET Date = @Date" + "Kitchen=@Kitchen" + " WHERE ST_ID = @ST_ID"; dbConnection.Open(); dbConnection.Execute(sQuery, stock); } }
public void Post([FromBody] string fromWarehouse, string toWarehouse, string itemCode, double quantity) { StockTransfer doc = new StockTransfer(); doc.DocDate = DateTime.Now; doc.FromWarehouse = fromWarehouse; doc.ToWarehouse = toWarehouse; doc.Lines.SetCurrentLine(0); doc.Lines.ItemCode = itemCode; doc.Lines.FromWarehouseCode = fromWarehouse; doc.Lines.WarehouseCode = toWarehouse; doc.Lines.Quantity = quantity; }
public ActionResult Report(string poNo) { StockTransfer st = stRepo.GetByNo(poNo); List <StockTransferItem> lstStockTransferItem = st.StockTransferItems; var lstStockTransfer = from s in lstStockTransferItem select new { ApprovedBy = st.ApprovedByObj.FullName, CheckedBy = st.CheckedBy, RequestedBy = st.ReportedBy, ItemCode = s.Item.Code, Description = s.Item.Description, Quantity = s.Quantity, SerialNo = s.SerialNo, Unit = st.UnitPlateNo }; ReportViewer reportViewer = new ReportViewer(); reportViewer.ProcessingMode = ProcessingMode.Local; ReportDataSource _rds = new ReportDataSource(); _rds.Name = "DataSet1"; _rds.Value = lstStockTransfer; reportViewer.KeepSessionAlive = false; reportViewer.LocalReport.DataSources.Clear(); reportViewer.LocalReport.ReportPath = Request.MapPath(Request.ApplicationPath) + @"Views\StockTransfer\Report\rptStockTransfer.rdlc"; reportViewer.LocalReport.DataSources.Add(_rds); List <ReportParameter> parameters = new List <ReportParameter>(); parameters.Add(new ReportParameter("Date", st.Date.ToShortDateString())); parameters.Add(new ReportParameter("No", st.No)); parameters.Add(new ReportParameter("TransferredTo", companyRepo.GetById(st.CompanyTo).Name)); parameters.Add(new ReportParameter("JobOrderNo", st.JobOrderNo)); parameters.Add(new ReportParameter("CompanyName", companyRepo.GetById(Sessions.CompanyId.Value).Name)); parameters.Add(new ReportParameter("CompanyAddress", companyRepo.GetById(Sessions.CompanyId.Value).Address)); reportViewer.LocalReport.SetParameters(parameters); reportViewer.LocalReport.Refresh(); ViewBag.ReportViewer = reportViewer; return(View()); }
public Consignment SaveStockTransfer(StockTransfer stockTransfer) { Consignment result = null; var vendRequest = new VendRequest(this.Url, this.Username, this.Password); var response = vendRequest.Post("/api/stock_transfers", stockTransfer.ToJson()); if (!string.IsNullOrEmpty(response)) { var consignmentWrapper = response.FromJson <ConsignmentWrapper>(); result = consignmentWrapper.Consignment; } return(result); }
public void SaveStockTransfer(RequisitionDTO entry) { StockTransfer st = new StockTransfer(); st.No = entry.No; st.Date = entry.RequisitionDate; if (entry.CompanyTo == 0) { int vehicleId = vehicleRepo.GetIdByPlateNo(entry.UnitPlateNo); st.CompanyTo = veAssignRepo.GetIdByVehicleId(vehicleId); } else { st.CompanyTo = entry.CompanyTo; } st.JobOrderNo = entry.JobOrderNo; st.UnitPlateNo = entry.UnitPlateNo; st.JobOrderDate = entry.JobOrderDate; st.OdometerReading = entry.OdometerReading; //Get from session st.DriverName = entry.DriverName; //Get from session st.ReportedBy = entry.ReportedBy; //Get from session st.CheckedBy = entry.CheckedBy; //Get from session st.ApprovedBy = Common.GetCurrentUser.GeneralManagerId; //Get from session st.CompanyId = Sessions.CompanyId.Value; List <StockTransferItem> lstStItem = new List <StockTransferItem>(); foreach (RequisitionDTO.Item item in entry.Items) { StockTransferItem stItem = new StockTransferItem { StockTransferId = st.Id, ItemId = item.ItemId, Quantity = item.Quantity, SerialNo = item.SerialNo, Type = item.Type, QuantityReturn = item.QuantityReturn, SerialNoReturn = item.SerialNoReturn }; lstStItem.Add(stItem); } st.StockTransferItems = lstStItem; stRepo.Save(st); }
///////////// public StockTransfer getStockTransferById(int id) { StockTransfer stockTransfer = null; try { StockTransfer st = new StockTransfer(); st.Id = id; List <StockTransfer> list = getTransfer(st); if (list.Count == 1) { stockTransfer = list[0]; } } catch (Exception) { } return(stockTransfer); }
public ActionResult Create(StockTransfer model) { try { model.CreatedBy = UserID.ToString(); model.CreatedDate = DateTime.Today; model.OrganizationId = OrganizationId; string ref_no = new StockTransferRepository().CreateStockTransfer(model); TempData["success"] = "Saved Successfully. Reference No. is " + ref_no; } catch (Exception) { TempData["error"] = "Some error occured. Please try again."; FillDropdowns(); return(View(model)); } return(RedirectToAction("Create")); }
public string Reject(long tranId) { bool isAdmin = AppUsers.GetCurrent().View.IsAdmin.ToBool(); if (!isAdmin) { throw new MixERPException(Warnings.AccessIsDenied); } if (tranId <= 0) { throw new MixERPException(Warnings.AccessIsDenied); } int userId = AppUsers.GetCurrent().View.UserId.ToInt(); StockTransfer.Reject(AppUsers.GetCurrentUserDB(), userId, tranId); return("OK"); }
public string CreateStockTransfer(StockTransfer model) { using (IDbConnection connection = OpenConnection(dataConnection)) { IDbTransaction txn = connection.BeginTransaction(); try { model.StockTransferRefNo = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 29, true, txn); int id = Create(model, connection, txn); InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "StockTransfer", id.ToString(), model.OrganizationId.ToString()); txn.Commit(); return(model.StockTransferRefNo); } catch (Exception) { txn.Rollback(); throw; } } }
public ActionResult Edit(int id = 0) { try { if (id != 0) { FillDropdowns(); StockTransfer StockTransfer = new StockTransfer(); StockTransfer = new StockTransferRepository().GetStockTransferHD(id); StockTransfer.Items = new StockTransferRepository().GetStockTransferDT(id); return(View(StockTransfer)); } else { TempData["error"] = "That was an invalid/unknown request. Please try again."; TempData["success"] = ""; } } catch (InvalidOperationException iox) { TempData["error"] = "Sorry, we could not find the requested item. Please try again.|" + iox.Message; } catch (SqlException sx) { TempData["error"] = "Some error occured while connecting to database. Please try again after sometime.|" + sx.Message; } catch (NullReferenceException nx) { TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message; } catch (Exception ex) { TempData["error"] = "Some error occured. Please try again.|" + ex.Message; } TempData["success"] = ""; return(RedirectToAction("Index")); }
public void ShouldBeAbleToPostASockTransfer() { var vendApi = new VendApi(this.Url, this.Username, this.Password); var registers = vendApi.GetRegisters(); var products = new VendApi(this.Url, this.Username, this.Password).GetProducts(Product.OrderBy.name, false, true); var product1 = products.First(p => p.Handle == this.Product1); var product2 = products.First(p => p.Handle == this.Product2); var mainRegister = registers.First(r => r.Name == "Main Register"); Assert.IsNotNull(mainRegister, "This test requires that the main register exists."); var consignment = new StockTransfer { Name = "New Name", Date = DateTime.UtcNow.ToString("u"), Type = "OUTLET", OutletId = mainRegister.OutletId, SourceOutletId = mainRegister.OutletId, Status = "OPEN", }; vendApi.SaveStockTransfer(consignment); }
internal void filter() { try { stockTransferHistory.DataTable.Rows.Clear(); StockTransfer s = getStockTransferForFilter(); s.LimitStart = stockTransferHistory.Pagination.LimitStart; s.LimitEnd = stockTransferHistory.Pagination.LimitCount; List <StockTransfer> list = getTransfer(s); DataRow row = null; foreach (StockTransfer stockTransfer in list) { row = stockTransferHistory.DataTable.NewRow(); row[0] = stockTransfer.Id; row[1] = stockManagerImpl.getStockLocationNameById(stockTransfer.FromLocationId); row[2] = stockManagerImpl.getStockLocationNameById(stockTransfer.ToLocationId); row[3] = stockTransfer.Date.ToString("yyyy-MM-dd"); row[4] = stockTransfer.Carrier; row[5] = stockTransfer.Details; stockTransferHistory.DataTable.Rows.Add(row); } } catch (Exception) { } }
private int Create(StockTransfer model, IDbConnection connection, IDbTransaction txn) { try { #region Inserting into [StockTransfer] head string query = @"INSERT INTO StockTransfer ( StockTransferRefNo, StockTransferDate, FromStockpointId, ToStockpointId, CreatedBy, CreatedDate, OrganizationId, isActive ) VALUES ( @StockTransferRefNo, @StockTransferDate, @FromStockpointId, @ToStockpointId, @CreatedBy, @CreatedDate, @OrganizationId, 1 ); SELECT CAST(SCOPE_IDENTITY() AS INT)"; int id = connection.Query <int>(query, model, txn).First(); #endregion #region Inserting Transfer Items + Stock Updation foreach (var item in model.Items) { item.StockTransferId = id; var i = new StockTransferItemRepository().InsertTransferItems(item, connection, txn); new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.FromStockpointId, StockType = "StockTransfer", StockInOut = "OUT", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity * (-1), StocktrnId = id, StockUserId = model.StockTransferRefNo }, connection, txn); new StockUpdateRepository().InsertStockUpdate(new StockUpdate { OrganizationId = model.OrganizationId, CreatedBy = model.CreatedBy, CreatedDate = model.CreatedDate, StockPointId = model.ToStockpointId, StockType = "StockTransfer", StockInOut = "IN", stocktrnDate = System.DateTime.Today, ItemId = item.ItemId, Quantity = item.Quantity, StocktrnId = id, StockUserId = model.StockTransferRefNo }, connection, txn); } #endregion return(id); } catch (Exception) { throw; } }
internal bool saveTransfer() { bool b = false; try { bool isOkay = true; if (addStockTransfer.textBox_carrierName_selectStock.IsNull()) { addStockTransfer.textBox_carrierName_selectStock.ErrorMode(true); isOkay = false; } if (addStockTransfer.datePicker_date_selectStock.SelectedDate == null) { addStockTransfer.datePicker_date_selectStock.ErrorMode(true); isOkay = false; } if (Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue) <= 0) { addStockTransfer.comboBox_to_selectStock.ErrorMode(true); isOkay = false; } if (Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue) <= 0) { addStockTransfer.comboBox_from_selectStock.ErrorMode(true); isOkay = false; } if (Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue) == Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue)) { addStockTransfer.comboBox_from_selectStock.ErrorMode(true); addStockTransfer.comboBox_to_selectStock.ErrorMode(true); isOkay = false; } if (isOkay) { if (addStockTransfer.DataTable.Rows.Count > 0) { StockTransfer stockTransfer = new StockTransfer(); stockTransfer.FromLocationId = Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue); stockTransfer.ToLocationId = Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue); stockTransfer.Date = Convert.ToDateTime(addStockTransfer.datePicker_date_selectStock.SelectedDate); stockTransfer.Carrier = addStockTransfer.textBox_carrierName_selectStock.TrimedText; stockTransfer.Details = addStockTransfer.textBox_details_selectStock.Text; CommonMethods.setCDMDForAdd(stockTransfer); int stockTransferId = addTransfer(stockTransfer); StockTransferItem stockTransferItem = null; StockItem stockItemFrom = null; StockItem stockItemTo = null; foreach (DataRow row in addStockTransfer.DataTable.Rows) { stockTransferItem = new StockTransferItem(); stockTransferItem.StockTransferId = stockTransferId; stockTransferItem.ItemId = Convert.ToInt32(row["ID"]); stockTransferItem.Quantity = Convert.ToDouble(row["Quantity"]); CommonMethods.setCDMDForAdd(stockTransferItem); stockItemFrom = stockManagerImpl.getStockItemByStockLocationIdAndItemId(Convert.ToInt32(addStockTransfer.comboBox_from_selectStock.SelectedValue), Convert.ToInt32(row["ID"])); stockItemTo = stockManagerImpl.getStockItemByStockLocationIdAndItemId(Convert.ToInt32(addStockTransfer.comboBox_to_selectStock.SelectedValue), Convert.ToInt32(row["ID"])); stockItemFrom.Quantity -= stockTransferItem.Quantity; stockItemTo.Quantity += stockTransferItem.Quantity; addTransferItem(stockTransferItem); stockManagerImpl.updStockItem(stockItemFrom); stockManagerImpl.updStockItem(stockItemTo); } b = true; } else { ShowMessage.error(Common.Messages.Error.Error012); } } } catch (Exception) { } return(b); }
private void stockTransferToolStripMenuItem_Click(object sender, EventArgs e) { StockTransfer dialog = new StockTransfer(); Openform(dialog); }
public async Task <IActionResult> OnPostDeclinesAsync(int?id) { DbContextOptions <ApplicationDbContext> options = new DbContextOptions <ApplicationDbContext>(); using (var context = new ApplicationDbContext(options)) { Stores = context.Stores.AsNoTracking().Where(s => s.StoreName != "Warehouse").Select(n => new SelectListItem { Value = n.Store_ID.ToString(), Text = n.StoreName }).ToList(); if (await _userManager.IsInRoleAsync(ApplicationUser, "Admin")) { StockTransfers = context.StockTransfers.AsNoTracking().Where(t => t.StockId == id && t.Approvals == "True" && t.FromStoreId == (AllStores.FirstOrDefault(s => s.StoreName == "Warehouse").Store_ID)).ToList(); } StockTransfer st = new StockTransfer(); st = context.StockTransfers.AsNoTracking().FirstOrDefault(t => t.Id == id); Store warehouseStore = context.Stores.AsNoTracking().FirstOrDefault(s => s.StoreName == "Warehouse"); Warehouse = context.WarehouseStock.AsNoTracking().FirstOrDefault(w => w.Id == st.StockId); StockItem = context.Stock.AsNoTracking().FirstOrDefault(s => s.StockName == Warehouse.StockName); Supplier = context.Suppliers.AsNoTracking().FirstOrDefault(s => s.Id == Warehouse.SupplierId); AllStores = context.Stores.AsNoTracking().ToList(); ApplicationUser = await _userManager.GetUserAsync(User); StockTransfer stockTransfer = new StockTransfer { Id = st.Id, StockId = st.StockId, FromStoreId = st.FromStoreId, ToStoreId = st.ToStoreId, TransferDate = st.TransferDate, Quantity = st.Quantity, Approvals = "False", ApprovalStatus = "Declined", Approver = ApplicationUser.UserName, DateApproved = DateTime.Now, Requester = st.Requester }; context.StockTransfers.Update(StockTransfer); try { context.SaveChanges(); AppMessage = "Declined"; Message = ""; List <InternetAddress> toEmailAddresses = new List <InternetAddress>(); List <InternetAddress> fromEmailAddresses = new List <InternetAddress>(); MailboxAddress toAddress = new MailboxAddress("*****@*****.**"); toEmailAddresses.Add(toAddress); MailboxAddress fromAddress = new MailboxAddress("*****@*****.**"); fromEmailAddresses.Add(fromAddress); EmailMessage emailMessage = new EmailMessage() { ToAddresses = toEmailAddresses, FromAddresses = fromEmailAddresses, Subject = "Stock Approved.", Content = string.Format("Stock {0} was declined on {1}", Warehouse.StockName, stockTransfer.DateApproved) }; _emailSender.SendMail(emailMessage); } catch (Exception ex) { } } return(Page()); }
public async Task <StockTransfer> AddStockTransfer(StockTransfer stockTransfer) { Guard.Argument(stockTransfer, nameof(stockTransfer)).NotNull(); stockTransfer.Created = stockTransfer.Updated = DateTimeOffset.UtcNow; await ValidateStockTransfer(stockTransfer); await using var transaction = await _unitOfWork.GetTransaction(); try { var fromWareHouse = await _wareHouseService.GetWareHouseById(stockTransfer.FromWareHouseId); if (!_wareHouseService.IsActiveWareHouse(fromWareHouse)) { throw new ServiceException(new ErrorMessage[] { new ErrorMessage() { Message = "From warehouse is not a active one" } }); } var toWareHouse = await _wareHouseService.GetWareHouseById(stockTransfer.ToWareHouseId); if (!_wareHouseService.IsActiveWareHouse(toWareHouse)) { throw new ServiceException(new ErrorMessage[] { new ErrorMessage() { Message = "To warehouse is not a active one" } }); } if (stockTransfer.ToWareHouseId == stockTransfer.FromWareHouseId) { throw new ServiceException(new ErrorMessage[] { new ErrorMessage() { Message = "From and To Warehouses should not be same" } }); } _unitOfWork.StockTransferRepository.Insert(stockTransfer); await _unitOfWork.SaveChanges(); foreach (var stockTransferStockTransferItem in stockTransfer.StockTransferItems) { await _stockService.AdjustStock(StockAdjustmentType.Out, stockTransfer.FromWareHouseId, stockTransferStockTransferItem.ProductId, stockTransferStockTransferItem.UnitCost, stockTransferStockTransferItem.Quantity, stockTransferStockTransferItem.ExpiredDate, $"Stock Transfer - {stockTransfer.StockTransferNumber}"); await _stockService.AdjustStock(StockAdjustmentType.In, stockTransfer.ToWareHouseId, stockTransferStockTransferItem.ProductId, stockTransferStockTransferItem.UnitCost, stockTransferStockTransferItem.Quantity, stockTransferStockTransferItem.ExpiredDate, $"Stock Transfer - {stockTransfer.StockTransferNumber}"); } await transaction.CommitAsync(); return(stockTransfer); } catch { await transaction.RollbackAsync(); throw; } }
// private Panel panelUser; //Literal L1; protected void Page_Load(object sender, EventArgs e) { try { _taskid = Convert.ToInt32(Request.QueryString["StockTransferTaskID"]); using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString)) { StockTransferTask stt = db.StockTransferTask.SingleOrDefault(a => a.StockTransferTaskID == _taskid); if (stt != null) { // StockTransfer st = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID); _noticeid = stt.StockTransferID; var t = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskInType == stt.TaskInType).OrderBy(a => a.StockTransferTaskID).First(); stt = t; //加载任务相关信息 Label lblReceiver = (Label)GetControltByMaster("lblReceiver"); lblReceiver.Text = stt.EmpInfo.EmpName; Label lblDate = (Label)GetControltByMaster("lblDate"); lblDate.Text = stt.CreateTime.ToShortTimeString(); StockTransfer sts = db.StockTransfer.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID); if (sts != null) { Label lblNoticeCode = (Label)GetControltByMaster("lblNoticeCode"); lblNoticeCode.Text = sts.StockTransferNum; } //加载过往批复信息 //获取物资组长审核信息记录 stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "物资组长审核信息").OrderByDescending(a => a.StockTransferTaskID).First(); if (stStart != null) { Label lblsta = (Label)GetControltByMaster("lblsta"); lblsta.Text = stStart.AuditStatus; Label lbluser = (Label)GetControltByMaster("lbluser"); lbluser.Text = stStart.EmpInfo1.EmpName; Label lbldete = (Label)GetControltByMaster("lbldete"); lbldete.Text = stStart.AcceptTime.ToString(); ((Label)GetControltByMaster("lblop")).Text = stStart.AuditOpinion; } //获取生产组长审核记录 //stStart = db.StockTransferTask.SingleOrDefault(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "生产组长审核信息"); stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "生产组长审核信息").OrderByDescending(a => a.StockTransferTaskID).First(); if (stStart != null) { Label lblsta0 = (Label)GetControltByMaster("lblsta0"); lblsta0.Text = stStart.AuditStatus; Label lbluser0 = (Label)GetControltByMaster("lbluser0"); lbluser0.Text = stStart.EmpInfo1.EmpName; Label lbldete0 = (Label)GetControltByMaster("lbldete0"); lbldete0.Text = stStart.AcceptTime.ToString(); ((Label)GetControltByMaster("lblop0")).Text = stStart.AuditOpinion; } //获取提交材料会计审核记录 stStart = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskType == "发起人确认").OrderByDescending(a => a.StockTransferTaskID).First(); if (stStart != null) { Label lblsta0 = (Label)GetControltByMaster("lblsta1"); lblsta0.Text = stStart.AuditStatus; Label lbluser0 = (Label)GetControltByMaster("lbluser1"); lbluser0.Text = stStart.EmpInfo1.EmpName; Label lbldete0 = (Label)GetControltByMaster("lbldete1"); lbldete0.Text = stStart.AcceptTime.ToString(); } ////判断是否已经发送过任务 //var n = db.StockTransferTask.Where(a => a.StockTransferID == stt.StockTransferID && a.TaskInType == stt.TaskInType).OrderByDescending(a => a.StockTransferTaskID).First(); btnOK = (Button)GetControltByMaster("btnOK"); //if (n.StockTransferTaskID > _taskid) //{ // //任务已发送 // btnOK.Enabled = false; //} //else //{ // //任务未发送 // btnOK.Enabled = true; // btnOK.Text = "申请者接收"; //} //判断任务是否已经完成 StockTransferTask stt2 = db.StockTransferTask.SingleOrDefault(a => a.StockTransferTaskID == _taskid); if (stt2.TaskState == "已完成") { ((Panel)GetControltByMaster("PanelDone")).Visible = true; ((Panel)GetControltByMaster("PanelOp")).Visible = false; //载入数据 ((Label)GetControltByMaster("lblsta2")).Text = stt2.AuditStatus; ((Label)GetControltByMaster("lbluser2")).Text = stt2.EmpInfo1.EmpName; ((Label)GetControltByMaster("lbldete2")).Text = stt2.AcceptTime.ToString(); ((Label)GetControltByMaster("lblop2")).Text = stt2.AuditOpinion; // 任务已完成 btnOK.Enabled = false; } else { ((Panel)GetControltByMaster("PanelDone")).Visible = false; ((Panel)GetControltByMaster("PanelOp")).Visible = true; //任务未完成 btnOK.Enabled = true; btnOK.Text = "材料会计审核"; } } } //txtUser = (TextBox)GetControltByMaster("txtUser"); //L1 = (Literal)GetControltByMaster("L1"); //L1.Text = JSDialogAid.GetJSForDialog(txtUser.ClientID, "../StorageAndPile/SelectUser.aspx"); InitializeCustomControls(); BindDataToCustomControls(); ShowCustomControls(); } catch (Exception ex) { MethodBase mb = MethodBase.GetCurrentMethod(); LogToDBHelper lhelper = LogToDBHelper.Instance; lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name)); ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_LOADERROR)); } }
public async Task DoTransfers(StockTransfer stockTransfer) { DbContextOptions <ApplicationDbContext> options = new DbContextOptions <ApplicationDbContext>(); using (var context = new ApplicationDbContext(options)) { Stores = context.Stores.AsNoTracking().Where(s => s.StoreName != "Warehouse").Select(n => new SelectListItem { Value = n.Store_ID.ToString(), Text = n.StoreName }).ToList(); FromStockItem = await context.Stock.AsNoTracking().FirstOrDefaultAsync(s => s.Id == stockTransfer.StockId && s.StoreId == stockTransfer.FromStoreId); AllStores = context.Stores.AsNoTracking().ToList(); ApplicationUser = await _userManager.GetUserAsync(User); StockItem isStockSore = new StockItem(); isStockSore = context.Stock.AsNoTracking().FirstOrDefault(s => s.StoreId == stockTransfer.ToStoreId && s.StockName == FromStockItem.StockName); if (isStockSore != null) { StockItem toStockItem = new StockItem { Id = isStockSore.Id, StockName = isStockSore.StockName, Unit = isStockSore.Unit, Price = isStockSore.Price, InStock = isStockSore.InStock + stockTransfer.Quantity, StoreId = isStockSore.StoreId, TransferApprovals = "False" }; context.Stock.Update(toStockItem); } else { StockItem toStockItem = new StockItem() { StockName = FromStockItem.StockName, Unit = FromStockItem.Unit, Price = FromStockItem.Price, InStock = stockTransfer.Quantity, StoreId = stockTransfer.ToStoreId, TransferApprovals = "False" }; context.Stock.Add(toStockItem); } FromStockItem.TransferApprovals = "False"; FromStockItem.InStock = FromStockItem.InStock - AmountToTransfer; context.StockTransfers.Update(stockTransfer); context.Stock.Update(FromStockItem); try { context.SaveChanges(); List <InternetAddress> toEmailAddresses = new List <InternetAddress>(); List <InternetAddress> fromEmailAddresses = new List <InternetAddress>(); MailboxAddress toAddress = new MailboxAddress("*****@*****.**"); toEmailAddresses.Add(toAddress); MailboxAddress fromAddress = new MailboxAddress("*****@*****.**"); fromEmailAddresses.Add(fromAddress); EmailMessage emailMessage = new EmailMessage() { ToAddresses = toEmailAddresses, FromAddresses = fromEmailAddresses, Subject = "Stock Approved.", Content = string.Format("Stock {0} was approved on {1}", FromStockItem.StockName, stockTransfer.DateApproved) }; _emailSender.SendMail(emailMessage); } catch (Exception ex) { } } }
public async Task <IActionResult> OnPostAsync(int?id) { FromStockItem = await _context.Stock.AsNoTracking().FirstOrDefaultAsync(s => s.Id == id); Stores = _context.Stores.AsNoTracking().Where(s => s.Store_ID != FromStockItem.StoreId).Select(n => new SelectListItem { Value = n.Store_ID.ToString(), Text = n.StoreName }).ToList(); ApplicationUser = await _userManager.GetUserAsync(User); if (await _userManager.IsInRoleAsync(ApplicationUser, "Admin")) { StockTransfers = _context.StockTransfers.AsNoTracking().Where(t => t.StockId == id && t.Approvals == "True").ToList(); } AllStores = _context.Stores.AsNoTracking().ToList(); ApplicationUser = await _userManager.GetUserAsync(User); if (!await _userManager.IsInRoleAsync(ApplicationUser, "Admin")) { StockTransfer stockTransfer = new StockTransfer { StockId = FromStockItem.Id, FromStoreId = FromStockItem.StoreId, ToStoreId = Convert.ToInt32(StoreId), TransferDate = DateTime.Now, Quantity = AmountToTransfer, DateApproved = DateTime.Now, Approvals = "True", ApprovalStatus = "Waiting Approval", Requester = ApplicationUser.UserName }; FromStockItem.TransferApprovals = "True"; _context.StockTransfers.Add(stockTransfer); _context.Stock.Update(FromStockItem); try { _context.SaveChanges(); List <InternetAddress> toEmailAddresses = new List <InternetAddress>(); List <InternetAddress> fromEmailAddresses = new List <InternetAddress>(); MailboxAddress toAddress = new MailboxAddress("*****@*****.**"); toEmailAddresses.Add(toAddress); MailboxAddress fromAddress = new MailboxAddress("*****@*****.**"); fromEmailAddresses.Add(fromAddress); EmailMessage emailMessage = new EmailMessage() { ToAddresses = toEmailAddresses, FromAddresses = fromEmailAddresses, Subject = "Stock Approval Waiting.", Content = string.Format("Stock {0} is waiting approval since {1}", FromStockItem.StockName, stockTransfer.TransferDate) }; _emailSender.SendMail(emailMessage); Message = "Waiting Approval"; } catch (Exception ex) { _logger.LogError(ex.Message); } AppMessage = ""; Message = "Waiting Approvals"; } else { StockTransfer stockTransfer = new StockTransfer { StockId = FromStockItem.Id, FromStoreId = FromStockItem.StoreId, ToStoreId = Convert.ToInt32(StoreId), TransferDate = DateTime.Now, Quantity = AmountToTransfer, DateApproved = DateTime.Now, Approvals = "True", ApprovalStatus = "Approved", Requester = ApplicationUser.UserName, Approver = ApplicationUser.UserName }; await DoTransfers(stockTransfer); AppMessage = ""; Message = "Approved"; } return(Page()); }
public static StockTransfer CreateStockTransfer(int ID, string lotNo, double quantity, byte[] rowVersion) { StockTransfer stockTransfer = new StockTransfer(); stockTransfer.Id = ID; stockTransfer.LotNo = lotNo; stockTransfer.Quantity = quantity; stockTransfer.RowVersion = rowVersion; return stockTransfer; }
public void AddToStockTransfers(StockTransfer stockTransfer) { base.AddObject("StockTransfers", stockTransfer); }
/// <summary> /// Mass Invoicing /// </summary> /// <param name="invoice"></param> /// <returns></returns> public static ResultDTO CreateInvoice(DocumentDTO invoice, UserValues user, FloorService floorServiceItem, string type) { var result = new ResultDTO(); if (invoice.Document.Debt == 0) { result.Success = true; result.Message = "Ya Se Habia Facturado"; return(result); } var massInvoicingDAO = new MassInvoicingDAO(); var distributionDAO = new DistributionDAO(); var objectCode = BoObjectTypes.oInvoices.ToString(); Documents lObjDocInvoice = null; //var containMainUsage = true; try { //Documents lObjDocInvoice = (Documents)DIApplication.Company.GetBusinessObject(BoObjectTypes.oDrafts); //OINV lObjDocInvoice = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDrafts); lObjDocInvoice.DocDate = DateTime.Now; lObjDocInvoice.CardCode = invoice.Document.Code; lObjDocInvoice.CardName = invoice.Document.Name; lObjDocInvoice.PaymentMethod = "99"; lObjDocInvoice.DocObjectCodeEx = "13"; lObjDocInvoice.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "P01"; lObjDocInvoice.Series = distributionDAO.GetSeries(user.WhsCode, objectCode); lObjDocInvoice.PaymentGroupCode = massInvoicingDAO.GetPayCondition(invoice.Document.Code); lObjDocInvoice.UserFields.Fields.Item("U_PE_Origin").Value = type; lObjDocInvoice.UserFields.Fields.Item("U_GLO_BusinessPartner").Value = invoice.Document.Code; //lObjDocInvoice.EDocExportFormat = 5; lObjDocInvoice.EDocGenerationType = EDocGenerationTypeEnum.edocGenerate; lObjDocInvoice.NumAtCard = string.Format("CM_CR_{0}", DateTime.Today.ToString("ddMMyy")); #region Comments //BusinessPartners BPartner = (BusinessPartners)DIApplication.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners); //BPartner.GetByKey(lObjDocInvoice.CardCode); //if (BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value.ToString() == "") //{ // BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "P01"; // containMainUsage = false; //} //lObjDocInvoice.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value; #endregion foreach (var line in invoice.FloorServiceLines) { lObjDocInvoice.Lines.ItemCode = floorServiceItem.ItemCode; lObjDocInvoice.Lines.Quantity = (line.Existence * line.TotalDays); lObjDocInvoice.Lines.WarehouseCode = line.Corral; lObjDocInvoice.Lines.Price = floorServiceItem.Price; lObjDocInvoice.Lines.CostingCode = user.Area; lObjDocInvoice.Lines.UserFields.Fields.Item("U_SU_BatchAuc").Value = (type.Equals("N")) ? line.Batch : line.DocEntry.ToString(); lObjDocInvoice.Lines.Add(); } foreach (var line in invoice.DeliveryLines) { lObjDocInvoice.Lines.ItemCode = line.ItemCode; lObjDocInvoice.Lines.Quantity = line.Quantity; lObjDocInvoice.Lines.Price = line.Price; lObjDocInvoice.Lines.CostingCode = user.Area; lObjDocInvoice.Lines.BaseEntry = line.DocEntry; lObjDocInvoice.Lines.BaseLine = line.LineNum; lObjDocInvoice.Lines.BaseType = 15; //ODLN lObjDocInvoice.Lines.Add(); } if (lObjDocInvoice.Add() != 0) { var error = DIApplication.Company.GetLastErrorDescription(); LogService.WriteError("InvoiceDI (CreateDocument) " + error); result.Success = false; result.Message = "Error: " + error; return(result); } else { string lStrDocEntry = DIApplication.Company.GetNewObjectKey(); result.Success = true; result.Message = string.Format("La Factura se realizó con éxito con el DocEntry: {0}", lStrDocEntry); //Update StockTransfer When Auction Invoicing if (type.Equals("S")) { var transferDocEntries = massInvoicingDAO.GetTransferDocEntries(invoice.Document.Code); if (transferDocEntries != null) { if (transferDocEntries.Length > 0) { Task.Factory.StartNew(() => { Parallel.ForEach(transferDocEntries, docEntry => { StockTransfer lObjDocTransfer = (StockTransfer)DIApplication.Company.GetBusinessObject(BoObjectTypes.oStockTransfer); //OWTR lObjDocTransfer.GetByKey(docEntry); lObjDocTransfer.UserFields.Fields.Item("U_GLO_Status").Value = "C"; var resultCode = lObjDocTransfer.Update(); if (resultCode != 0) { var error = DIApplication.Company.GetLastErrorDescription(); LogService.WriteError("InvoiceDI (Update Stock Transfers) " + error); result.Message += ", " + error; } }); }); } } else { result.Success = false; result.Message += string.Format(" - No se encontró la transferencia para el SN {0}", invoice.Document.Code); } } return(result); } } catch (AggregateException ae) { ae.Handle(e => { HandleException(e, "InvoiceDI(Document)"); return(true); }); } catch (Exception ex) { HandleException(ex, "InvoiceDI(Document)" + ex.Message + " " + ex.InnerException.Message); } return(new ResultDTO() { Success = false, Message = "Error: No Se Pudo Crear La Factura Para el Cliente " + invoice.Document.Name }); }
public static string AddData(Company oCompany, ITR model) { StockTransfer oObject = null; RTNMANVAL rtn = new RTNMANVAL(); int errCode; string errMessage, strResult = ""; try { oCompany.StartTransaction(); oObject = oCompany.GetBusinessObject(BoObjectTypes.oInventoryTransferRequest); oObject.DocDate = model.PostingDate; oObject.DueDate = model.DocumentDate; oObject.ToWarehouse = model.ToWarehouseCode; oObject.FromWarehouse = model.FromWarehouseCode; oObject.Address = model.ShipTo; oObject.UserFields.Fields.Item("U_MJTPO").Value = model.NoSPK; oObject.UserFields.Fields.Item("U_MJTSPK").Value = model.NoSPKDetil; oObject.UserFields.Fields.Item("U_MJT_NoSIP2").Value = model.NoSIP2; oObject.UserFields.Fields.Item("U_MJT_TglSIP2").Value = model.TglSIP2; oObject.UserFields.Fields.Item("U_MJTBASTB").Value = model.NoBAP; oObject.UserFields.Fields.Item("U_MJTRCVD").Value = model.TglBAP; oObject.UserFields.Fields.Item("U_mjt_opr").Value = model.Operator; oObject.UserFields.Fields.Item("U_mjt_scr").Value = model.Security; oObject.UserFields.Fields.Item("U_mjt_jam2").Value = model.jam; oObject.UserFields.Fields.Item("U_mjt_qa").Value = model.PetugasQA; oObject.UserFields.Fields.Item("U_MJTPO").Value = model.NoSPK2; oObject.UserFields.Fields.Item("U_MJT_Uraian").Value = model.UraianKerja; oObject.UserFields.Fields.Item("U_MJT_NomorINV").Value = model.NoInvoicePajak; oObject.UserFields.Fields.Item("U_MJT_DP").Value = model.Downpayment; oObject.UserFields.Fields.Item("U_MJT_DP2").Value = model.DownpaymentAmount; for (int i = 0; i < model.lines.Count; i++) { oObject.Lines.ItemCode = model.lines[i].ItemCode; oObject.Lines.FromWarehouseCode = model.FromWarehouseCode; oObject.Lines.WarehouseCode = model.lines[i].ToWarehouseCode; oObject.Lines.Quantity = model.lines[i].Quantity; oObject.Lines.Add(); } int addStatus = oObject.Add(); if (addStatus == 0) { if (strResult == "") { strResult = oCompany.GetNewObjectKey(); } else { strResult = strResult + " | " + oCompany.GetNewObjectKey(); } } else { if (oCompany.InTransaction) { oCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } oCompany.GetLastError(out errCode, out errMessage); throw new Exception("Error Code : " + errCode + " | Error Message : " + errMessage); } oCompany.EndTransaction(BoWfTransOpt.wf_Commit); } catch (Exception) { if (oCompany.InTransaction) { oCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } ; throw; } return(strResult); }