private void btnSave_Click(object sender, EventArgs e) { if (XtraMessageBox.Show("Are you sure you would like to change the status of this store/warehouse?", "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } DataTable table = gridManageInvetoryView.GetFocusedDataRow().Table; foreach(DataRow dr in table.Rows) { if (dr != null && dr.RowState == DataRowState.Modified) { var freezChoice = Convert.ToString(ComboBoxFreezChoice.Text); if (freezChoice == "Cluster") { int selected = Convert.ToInt32(dr["LocationID"]); Cluster cluster = new Cluster(); cluster.LoadByPrimaryKey(selected); cluster.IsActive = Convert.ToBoolean(dr["Status"]); cluster.Save(); this.LogActivity("Changed Status of Cluster"); BLL.Warehouse warehouse = new BLL.Warehouse(); warehouse.UpdateWarehouseStatusbyCluster(selected, Convert.ToBoolean(dr["Status"])); BLL.PhysicalStore physicalStore = new PhysicalStore(); physicalStore.UpdatePhysicalStoreStatusbyCluster(selected, Convert.ToBoolean(dr["Status"])); } else if (freezChoice == "Warehouse") { int selected = Convert.ToInt32(dr["LocationID"]); BLL.Warehouse warehouse = new BLL.Warehouse(); warehouse.LoadByPrimaryKey(selected); warehouse.IsActive = Convert.ToBoolean(dr["Status"]); warehouse.Save(); this.LogActivity("Changed Status of Warehouse"); BLL.PhysicalStore physicalStore = new PhysicalStore(); physicalStore.UpdatePhysicalStoreStatusbyWarehouse(selected, Convert.ToBoolean(dr["Status"])); } else if (freezChoice == "Physical Store") { int selected = Convert.ToInt32(dr["LocationID"]); PhysicalStore physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(selected); physicalStore.IsActive = Convert.ToBoolean(dr["Status"]); physicalStore.Save(); this.LogActivity("Changed Status of Store"); } } } XtraMessageBox.Show("The freezing and unfreezing you have made have been saved.", "Successfully Saved", MessageBoxButtons.OK); }
private void startbgWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { MyGeneration.dOOdads.TransactionMgr transactionMgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { // Add the inventory details. // For each Activity, populate the inventory. //ToDO: this grid reading in a non ui thread is dangerous //please don't do it this way. transactionMgr.BeginTransaction(); int physicalStoreID = Convert.ToInt32(gridManageInvetoryView.GetFocusedDataRow()["ID"]); PhysicalStore physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(physicalStoreID); DateTime startDate = dtStartInventory.Value; if (!physicalStore.IsColumnNull("CurrentInventoryPeriodID")) { // create the inventory period InventoryPeriod oldPeriod = new InventoryPeriod(); oldPeriod.LoadByPrimaryKey(physicalStore.CurrentInventoryPeriodID); oldPeriod.EndDate = dtStartInventory.Value; oldPeriod.Save(); } InventoryPeriod period = new InventoryPeriod(); period.AddNew(); period.InventoryStatusID = InventoryPeriod.Constants.BEGIN_INVENTORY; period.PhysicalStoreID = physicalStoreID; period.StartDate = dtStartInventory.Value; period.EndDate = FiscalYear.Current.EndDate; period.StartedBy = CurrentContext.UserId; period.FiscalYearID = FiscalYear.Current.ID; if (memoEdit1.EditValue != null) { period.Remark = memoEdit1.EditValue.ToString(); } period.Save(); //ChangePhysicalStoreToCurrentPeriod physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(physicalStoreID); physicalStore.CurrentInventoryPeriodID = period.ID; physicalStore.CurrentPeriodStartDate = period.StartDate; physicalStore.Save(); Activity activity = new Activity(); activity.LoadAll(); int activityIndex = 1; while (!activity.EOF) { // report that this activity is being processed. startbgWorker.ReportProgress(activityIndex++, "Activity: " + activity.FullActivityName); DataTable dtbl = Balance.GetBalanceByPhysicalStore(physicalStoreID, activity.ID, false); decimal total = dtbl.Rows.Count; decimal i = 0; foreach (DataRow dr in dtbl.Rows) { Inventory inv = new Inventory(); inv.AddNew(); inv.IsDraft = true; inv.PhysicalStoreID = physicalStoreID; inv.RecordedBy = CurrentContext.UserId; inv.RecordedDate = BLL.DateTimeHelper.ServerDateTime; inv.InventoryPeriodID = period.ID; inv.ItemID = Convert.ToInt32(dr["ID"]); inv.UnitID = Convert.ToInt32(dr["UnitID"]); inv.ActivityID = activity.ID; inv.ManufacturerID = Convert.ToInt32(dr["ManufacturerID"]); inv.SetColumn("BatchNo", dr["BatchNo"]); inv.SetColumn("ExpiryDate", dr["ExpDate"]); if (!inv.IsColumnNull("ExpiryDate") && inv.ExpiryDate < BLL.DateTimeHelper.ServerDateTime) { inv.SystemExpiredQuantity = Convert.ToDecimal(dr["SoundSOH"]); } else { inv.SystemSoundQuantity = Convert.ToDecimal(dr["SoundSOH"]); } inv.SystemDamagedQuantity = Convert.ToDecimal(dr["DamagedSOH"]); inv.SetColumn("Cost", dr["Cost"]); inv.Margin = dr["Margin"] == DBNull.Value ? 0 : Convert.ToDecimal(dr["Margin"]); inv.SetColumn("PalletLocationID", dr["PalletLocationID"]); inv.Save(); startbgWorker.ReportProgress(Convert.ToInt32((i / total) * 100), "Detail"); //inventory i++; } activity.MoveNext(); } transactionMgr.CommitTransaction(); XtraMessageBox.Show("The new Inventory Period has been defined."); } catch (Exception exception) { transactionMgr.RollbackTransaction(); XtraMessageBox.Show(exception.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }