public void CancelCommitment(DataTable pdtbData, int pintCCNID) { const string Cancel = "Cancel", True = "True"; SO_CommitInventoryDetailDS dsCommitDetail = new SO_CommitInventoryDetailDS(); UtilsBO boUtils = new UtilsBO(); foreach (DataRow drowData in pdtbData.Rows) { if ((drowData.RowState == DataRowState.Modified) && (drowData[Cancel].ToString() == True)) { decimal decRate = boUtils.GetUMRate(int.Parse(drowData[SO_CommitInventoryDetailTable.SELLINGUMID_FLD].ToString()), int.Parse(drowData[ITM_ProductTable.STOCKUMID_FLD].ToString())); int intProductID = int.Parse(drowData[SO_CommitInventoryDetailTable.PRODUCTID_FLD].ToString()); int intSOMasterID = int.Parse(drowData[SO_CommitInventoryDetailTable.COMMITINVENTORYMASTERID_FLD].ToString()); int intSODetailID = int.Parse(drowData[SO_CommitInventoryDetailTable.COMMITINVENTORYDETAILID_FLD].ToString()); Decimal decQuantity = Decimal.Parse(drowData[SO_CommitInventoryDetailTable.COMMITQUANTITY_FLD].ToString()); int intMasLocID = 0; if (drowData[SO_CommitInventoryDetailTable.MASTERLOCATIONID_FLD].ToString() != string.Empty) { intMasLocID = int.Parse(drowData[SO_CommitInventoryDetailTable.MASTERLOCATIONID_FLD].ToString()); } int intLocationID = 0; if (drowData[SO_CommitInventoryDetailTable.LOCATIONID_FLD].ToString() != string.Empty) { intLocationID = int.Parse(drowData[SO_CommitInventoryDetailTable.LOCATIONID_FLD].ToString()); } int intBinID = 0; if (drowData[SO_CommitInventoryDetailTable.BINID_FLD].ToString() != string.Empty) { intBinID = int.Parse(drowData[SO_CommitInventoryDetailTable.BINID_FLD].ToString()); } MST_TransactionHistoryVO voTransaction = new MST_TransactionHistoryVO(); voTransaction.CCNID = pintCCNID; voTransaction.MasterLocationID = intMasLocID; voTransaction.ProductID = intProductID; voTransaction.LocationID = intLocationID; voTransaction.BinID = intBinID; voTransaction.RefMasterID = intSOMasterID; voTransaction.RefDetailID = intSODetailID; voTransaction.PostDate = boUtils.GetDBDate(); voTransaction.TransDate = boUtils.GetDBDate(); voTransaction.Quantity = decQuantity * decRate; voTransaction.TranTypeID = new MST_TranTypeDS().GetTranTypeID(TransactionType.CANCEL_COMMITMENT); voTransaction.StockUMID = (int)drowData[SO_CommitInventoryDetailTable.STOCKUMID_FLD]; new InventoryUtilsBO().UpdateSubtractCommitQuantity(pintCCNID, intMasLocID, intLocationID, intBinID, intProductID, decQuantity * decRate, string.Empty, string.Empty); dsCommitDetail.Delete(int.Parse(drowData[SO_CommitInventoryDetailTable.COMMITINVENTORYDETAILID_FLD].ToString())); new InventoryUtilsBO().SaveTransactionHistory(TransactionType.CANCEL_COMMITMENT, (int)PurposeEnum.CancelCommitment, voTransaction); } } AutoDeleteCommitInventoryMaster(); }
public DataSet ListCancelable(int pintSaleOrderMasterID) { try { SO_CommitInventoryDetailDS dsCommitInventory = new SO_CommitInventoryDetailDS(); return(dsCommitInventory.ListCancelable(pintSaleOrderMasterID)); } catch (PCSDBException ex) { throw ex; } catch (Exception ex) { throw ex; } }
public void UpdateRelease(ArrayList parrMaster, DataSet pdstCommitDetail, DataSet pdstMasLocCache, DataSet pdstLocCache, DataSet pdstBinCache, DataSet pdstTransaction) { const string METHOD_NAME = THIS + ".UpdateRelease()"; SO_CommitInventoryMasterDS dsMaster = new SO_CommitInventoryMasterDS(); DataSet dstCopyOfDetail = pdstCommitDetail.Clone(); DataSet dstCopyOfTransaction = pdstTransaction.Clone(); UtilsBO boUtils = new UtilsBO(); foreach (SO_CommitInventoryMasterVO voMaster in parrMaster) { int intOldID = voMaster.CommitInventoryMasterID; voMaster.CommitmentNo = boUtils.GetNoByMask(SO_CommitInventoryMasterTable.TABLE_NAME, SO_CommitInventoryMasterTable.COMMITMENTNO_FLD, voMaster.CommitDate, Constants.YYYYMMDD0000); // add new master object and get new id voMaster.CommitInventoryMasterID = dsMaster.AddAndReturnID(voMaster); #region find all detail object to assign new master id DataRow[] drowDetails = pdstCommitDetail.Tables[0].Select(SO_CommitInventoryDetailTable.COMMITINVENTORYMASTERID_FLD + "=" + intOldID); foreach (DataRow drowDetail in drowDetails) { if (drowDetail.RowState != DataRowState.Deleted) { DataRow drowCommitDetail = dstCopyOfDetail.Tables[0].NewRow(); foreach (DataColumn dcol in dstCopyOfDetail.Tables[0].Columns) { drowCommitDetail[dcol.ColumnName] = drowDetail[dcol.ColumnName]; } drowCommitDetail[SO_CommitInventoryDetailTable.COMMITINVENTORYMASTERID_FLD] = voMaster.CommitInventoryMasterID; dstCopyOfDetail.Tables[0].Rows.Add(drowCommitDetail); } } #endregion #region find all transaction history object to assign new master id DataRow[] drowTransaction = pdstTransaction.Tables[0].Select(MST_TransactionHistoryTable.REFMASTERID_FLD + "=" + intOldID); foreach (DataRow drowDetail in drowTransaction) { if (drowDetail.RowState != DataRowState.Deleted) { DataRow drowNewTransaction = dstCopyOfTransaction.Tables[0].NewRow(); foreach (DataColumn dcol in dstCopyOfTransaction.Tables[0].Columns) { drowNewTransaction[dcol.ColumnName] = drowDetail[dcol.ColumnName]; } drowNewTransaction[MST_TransactionHistoryTable.REFMASTERID_FLD] = voMaster.CommitInventoryMasterID; dstCopyOfTransaction.Tables[0].Rows.Add(drowNewTransaction); } } #endregion } // update detail dataset SO_CommitInventoryDetailDS dsCommitDetail = new SO_CommitInventoryDetailDS(); dsCommitDetail.UpdateDataSet(dstCopyOfDetail); // update transaction history MST_TransactionHistoryDS dsTransaction = new MST_TransactionHistoryDS(); dsTransaction.UpdateDataSet(dstCopyOfTransaction); // update bin cache IV_BinCacheDS dsBinCache = new IV_BinCacheDS(); dsBinCache.UpdateDataSet(pdstBinCache); // update location cache IV_LocationCacheDS dsLocCache = new IV_LocationCacheDS(); dsLocCache.UpdateDataSet(pdstLocCache); // update master location cache IV_MasLocCacheDS dsMasLocCache = new IV_MasLocCacheDS(); dsMasLocCache.UpdateDataSet(pdstMasLocCache); }
public DataSet List(int MasterID) { SO_CommitInventoryDetailDS dsCommit = new SO_CommitInventoryDetailDS(); return(dsCommit.List(MasterID)); }