/// <summary> /// Adds a new delete log /// </summary> /// <param name="deletedReceiveDoc">The ReceiveDoc object to be deleted</param> /// <param name="deletedByUser">The user performing the deletion</param> public static ReceiveDocDeleted AddNewLog(ReceiveDoc deletedReceiveDoc, int deletedByUser) { var recLog = new ReceiveDocDeleted(); recLog.AddNew(); foreach (DataColumn col in deletedReceiveDoc.DefaultView.Table.Columns) { try { recLog.SetColumn(col.ColumnName, deletedReceiveDoc.GetColumn(col.ColumnName)); } catch { /*Till VVMID Column generated for ReceiveDocDeleted! */} } recLog.DeletedBy = deletedByUser; recLog.DateDeleted = DateTimeHelper.ServerDateTime; return recLog; }
/// <summary> /// Adds a new delete log /// </summary> /// <param name="deletedReceiveDoc">The ReceiveDoc object to be deleted</param> /// <param name="deletedByUser">The user performing the deletion</param> public static ReceiveDocDeleted AddNewLog(ReceiveDoc deletedReceiveDoc, int deletedByUser) { var recLog = new ReceiveDocDeleted(); recLog.AddNew(); foreach (DataColumn col in deletedReceiveDoc.DefaultView.Table.Columns) { try { recLog.SetColumn(col.ColumnName, deletedReceiveDoc.GetColumn(col.ColumnName)); } catch { /*Till VVMID Column generated for ReceiveDocDeleted! */ } } recLog.DeletedBy = deletedByUser; recLog.DateDeleted = DateTimeHelper.ServerDateTime; return(recLog); }
/// <summary> /// Needs to be the first function to be called when saving a new receive doc entry. /// </summary> /// <param name="rec"></param> /// <param name="receiptID"></param> /// <param name="dr"></param> private void FillInReceiveDocInformation(ReceiveDoc rec, int receiptID, DataRowView dr) { try { rec.GetColumn("GUID"); } catch { rec.AddColumn("GUID", typeof(string)); //rec.AddColumn("IsDamaged", typeof(bool)); //This is only used if the Check box is used to receive damaged receives (For SRM only) } rec.StoreID = Convert.ToInt32(lkAccounts.EditValue); rec.RefNo = txtRefNo.Text; rec.Remark = txtRemark.Text; rec.ReceivedBy = CurrentContext.LoggedInUserName; DateTime xx = dtRecDate.Value; dtRecDate.CustomFormat = "MM/dd/yyyy"; DateTime dtRec = new DateTime(); rec.Date = ConvertDate.DateConverter(dtRecDate.Text); dtRec = ConvertDate.DateConverter(dtRecDate.Text); rec.EurDate = BLL.DateTimeHelper.ServerDateTime; rec.ItemID = Convert.ToInt32(dr["ID"]); rec.NoOfPack = Convert.ToDecimal(dr["Pack Qty"]); rec.SetColumn("GUID", dr["GUID"].ToString()); rec.IsDamaged = Convert.ToBoolean(dr["IsDamaged"]); if (standardRecType == StandardReceiptType.iGRVOnline) { rec.SetColumn("PricePerPack", dr["Price/Pack"]); rec.SetColumn("Margin", dr["Margin"]); rec.SetColumn("UnitCost", dr["Price/Pack"]); } //TODO: This if is a garbage. Remove if (dr["InvoicedQty"] == DBNull.Value) { rec.InvoicedNoOfPack = rec.NoOfPack; } rec.InvoicedNoOfPack = srm ? Convert.ToDecimal(dr["IssuedQty"]) : Convert.ToDecimal(dr["OriginalInvoicedQty"]); rec.ManufacturerId = Convert.ToInt32(dr["Manufacturer"]); BLL.ItemManufacturer im = new BLL.ItemManufacturer(); im.LoadIMbyLevel(rec.ItemID, rec.ManufacturerId, 0); if (dr["UnitID"] != DBNull.Value) { // if unit has been set, pick the qty per pack from the unit rec.UnitID = Convert.ToInt32(dr["UnitID"]); ItemUnit itemUnit = new ItemUnit(); itemUnit.LoadByPrimaryKey(rec.UnitID); rec.QtyPerPack = itemUnit.QtyPerUnit; } else { rec.QtyPerPack = im.QuantityInBasicUnit; } rec.Quantity = rec.QuantityLeft = rec.NoOfPack * rec.QtyPerPack; try { if ((deliveryNoteType == DeliveryNoteType.NotSet)) { if (!BLL.Settings.HandleGRV && !srm) { rec.PricePerPack = Convert.ToDouble(dr["Price/Pack"]); double pre = (Convert.ToDouble(dr["Price/Pack"]) / 1); //rec.QtyPerPack); rec.Cost = pre; } rec.DeliveryNote = false; } else { rec.DeliveryNote = true; if (deliveryNoteType == DeliveryNoteType.Automatic) { rec.SetColumn("PricePerPack", dr["Price/Pack"]); rec.SetColumn("Margin", dr["Margin"]); rec.SetColumn("UnitCost", dr["Price/Pack"]); } } } catch { // catch the error if the recieve doesn't have cost information // NOTE: this shall never happen. } if (dr["Batch No"] != DBNull.Value) { rec.BatchNo = dr["Batch No"].ToString(); // receivingGrid.Rows[i].Cells[8].Value.ToString(); } if (dr["Expiry Date"] != DBNull.Value) { rec.ExpDate = Convert.ToDateTime(dr["Expiry Date"]); //receivingGrid.Rows[i].Cells[9].Value); } if (!srm) { rec.SupplierID = _supplierID; } else { rec.SupplierID = BLL.Supplier.CONSTANTS.RETURNED_FROM_FACILITY; //TODO: Returned From Supplier: To be removed. This is an unacceptable hack. rec.RefNo = lkSTVInvoiceNo.Text; if (string.IsNullOrEmpty(txtRemark.Text)) { XtraMessageBox.Show( "Please enter the reason for the SRM.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); throw new Exception("Reason not entered for SRM"); } else { rec.Remark = txtRemark.Text; } } rec.ReturnedStock = srm; if (srm && !chkSRMForOldSystemIssues.Checked) { rec.ReturnedFromIssueDocID = int.Parse(dr["IssueDocID"].ToString()); int issueDocID = int.Parse(dr["IssueDocID"].ToString()); BLL.IssueDoc iss = new IssueDoc(); iss.LoadByPrimaryKey(issueDocID); BLL.ReceiveDoc rd = new ReceiveDoc(); rd.LoadByPrimaryKey(iss.RecievDocID); //If it was a delivery note, then the return will not have price information associated with it. // HW-2189 decimal? UnitCost, SellingPrice, Margin; UnitCost = SellingPrice = Margin = null; if (!BLL.Settings.HandleGRV) { if (!iss.IsColumnNull("UnitCost") && iss.IsColumnNull("SellingPrice")) { UnitCost = iss.UnitCost; SellingPrice = iss.SellingPrice; Margin = !iss.IsColumnNull("Margin") ? iss.Margin : 0; } else if (!iss.IsColumnNull("Cost")) { Margin = !rd.IsColumnNull("Margin") ? Convert.ToDecimal(rd.Margin) : 0; SellingPrice = Convert.ToDecimal(iss.Cost / Convert.ToDouble(iss.NoOfPack)); UnitCost = BLL.Settings.IsCenter ? SellingPrice : SellingPrice / Convert.ToDecimal(Margin + 1); } } else { if (!iss.IsColumnNull("UnitCost") && iss.IsColumnNull("SellingPrice") && iss.UnitCost != 0 && iss.SellingPrice != 0) { UnitCost = iss.UnitCost; SellingPrice = iss.SellingPrice; Margin = !iss.IsColumnNull("Margin") ? iss.Margin : 0; } else if (!iss.IsColumnNull("Cost") && iss.Cost != 0) { Margin = !rd.IsColumnNull("Margin") ? Convert.ToDecimal(rd.Margin) : 0; SellingPrice = Convert.ToDecimal(iss.Cost / Convert.ToDouble(iss.NoOfPack)); UnitCost = BLL.Settings.IsCenter ? SellingPrice : SellingPrice / Convert.ToDecimal(Margin + 1); } } if (UnitCost.HasValue) { rec.PricePerPack = Convert.ToDouble(UnitCost); rec.Cost = Convert.ToDouble(UnitCost); rec.UnitCost = UnitCost.Value; } if (SellingPrice.HasValue) { rec.SellingPrice = Convert.ToDouble(SellingPrice); } if (Margin.HasValue) { rec.Margin = Convert.ToDouble(Margin); } if (!rd.IsColumnNull("SupplierID")) rec.SupplierID = rd.SupplierID; } rec.ReceiptID = receiptID; if (BLL.Settings.HandleGRV && !beginningBalance) { rec.RefNo = receiptID.ToString(); } else if (beginningBalance) { rec.RefNo = "BeginningBalance"; } //Needs to be fixed! Garbage string batch = DateTimeHelper.ServerDateTime.Day.ToString() + DateTimeHelper.ServerDateTime.Hour.ToString() + DateTimeHelper.ServerDateTime.Minute.ToString() + rec.ItemID.ToString(); rec.LocalBatchNo = batch; rec.Out = false; rec.IsApproved = false; if (dr["ShortageReasonID"] != DBNull.Value) { rec.ShortageReasonID = Convert.ToInt32(dr["ShortageReasonID"]); } var item = new Item(); item.LoadByPrimaryKey(Convert.ToInt32(dr["id"])); if (dr["ShortageReasonID"] == DBNull.Value && (item.NeedExpiryBatch || rec.ExpDate <= DateTimeHelper.ServerDateTime)) { rec.ShortageReasonID = ShortageReasons.Constants.DAMAGED; } dtRecDate.Value = xx; _receiptID = receiptID; //Assign it to the global variable so it can be used later on. }
//, string guid) private void SavePalletization(ReceiveDoc rec, DataRowView drow) { if ((rec.Quantity == 0 && !rec.IsColumnNull("ShortageReasonID") && rec.ShortageReasonID == ShortageReasons.Constants.NOT_RECEIVED) || (rec.Quantity == 0 && rec.IsColumnNull("ShortageReasonID"))) { HandleFullNotReceivedAndMultipleBatchPalletlization(rec,drow); return; } string guid; BLL.ReceivePallet rp = new ReceivePallet(); Pallet pallet = new Pallet(); PalletLocation pl = new PalletLocation(); ItemUnit itemUnit = new ItemUnit(); BLL.ItemManufacturer im = new BLL.ItemManufacturer(); guid = rec.GetColumn("GUID").ToString(); var isDamaged = Convert.ToBoolean(rec.GetColumn("IsDamaged")); //DataRow[] r = _dtPalletizedItemList.Select(string.Format("Index = '{0}'", i)); DataRow[] r = _dtPalletizedItemList.Select(string.Format("GUID = '{0}' AND IsDamaged = {1}", guid, isDamaged)); if (r.Length > 0) { foreach (DataRow rw in r) { rp.AddNew(); rp.IsOriginalReceive = true; if (Convert.ToBoolean(rw["Consolidate"])) { try { DataRow dr = _dtPutAwayPalletized.Select(string.Format("PalletNumber={0}", Convert.ToInt32(rw["PalletNumber"])))[0]; //Assuming we only need one. if (rw["IsStoredInFreeStorageType"] != null) { if (Convert.ToBoolean(rw["IsStoredInFreeStorageType"]) == true) { pl.LoadByPrimaryKey(Convert.ToInt32(dr["PutAwayLocation"])); } } } catch { pl.LoadByPalletNumber(Convert.ToInt32(rw["PalletNumber"])); } try { rp.PalletID = pl.PalletID; rp.PalletLocationID = pl.ID; } catch { rp.PalletID = GetPalletID(rw["PalletNumber"].ToString()); try { rp.PalletLocationID = PalletLocation.GetPalletLocationID(rp.PalletID); } catch { DataRow dr = _dtPutAwayPalletized.Select(string.Format("PalletNumber={0}", Convert.ToInt32(rw["PalletNumber"])))[0]; pl.LoadByPrimaryKey(Convert.ToInt32(dr["PutAwayLocation"])); pl.PalletID = rp.PalletID; pl.Save(); rp.PalletLocationID = pl.ID; } } //// if the putaway is on a pick face, increase the amount stored on the pick face //if (pl.StorageTypeID.ToString() == StorageType.PickFace) //{ // PickFace pf = new PickFace(); // pf.LoadPickFaceFor(rec.ItemID, Convert.ToInt32(cboStores.EditValue)); // if (pf.RowCount > 0) // { // if (pf.IsColumnNull("Balance")) // { // pf.Balance = 0; // } // pf.Balance += Convert.ToInt32(rp.Balance); // pf.Save(); // } //} } else { var palletNumber = Convert.ToInt32(rw["PalletNumber"]); DataRow dr = _dtPutAwayPalletized.Select(string.Format("PalletNumber={0}", palletNumber))[0]; //Assuming we only need one. pl.LoadByPrimaryKey(Convert.ToInt32(dr["PutAwayLocation"])); rp.PalletID = GetPalletID(rw["PalletNumber"].ToString()); pl.PalletID = rp.PalletID; rp.PalletLocationID = pl.ID; //PalletLocation.GetPalletLocationID(rp.PalletID); pl.Save(); } rp.ReservedStock = 0; im.LoadIMbyLevel(Convert.ToInt32(rw["ID"]), Convert.ToInt32(rw["Manufacturer"]), Convert.ToInt32(rw["BoxLevel"])); int qtyPerPack = im.QuantityInBasicUnit; if (rw["UnitID"] != DBNull.Value) { itemUnit.LoadByPrimaryKey(Convert.ToInt32(rw["UnitID"])); qtyPerPack = itemUnit.QtyPerUnit; } rp.ReceivedQuantity = rp.Balance = (Convert.ToDecimal(rw["Pack Qty"]) * Convert.ToDecimal(qtyPerPack)); rp.BoxSize = Convert.ToInt32(rw["BoxLevel"]); if (rec.IsColumnNull("PhysicalStoreID") && !rp.IsColumnNull("PalletLocationID")) { PalletLocation l = new PalletLocation(); l.LoadByPrimaryKey(rp.PalletLocationID); rec.PhysicalStoreID = (l.PhysicalStoreID); PhysicalStore physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(l.PhysicalStoreID); rec.InventoryPeriodID = physicalStore.CurrentInventoryPeriodID; } if (Convert.ToBoolean(rw["Consolidate"])) { try { // if the putaway is on a pick face, increase the amount stored on the pick face if (pl.StorageTypeID.ToString() == StorageType.PickFace) { PickFace pf = new PickFace(); pf.LoadPickFaceFor(rec.ItemID, Convert.ToInt32(lkAccounts.EditValue)); if (pf.RowCount > 0) { if (pf.IsColumnNull("Balance")) { pf.Balance = 0; } pf.Balance += Convert.ToInt32(rp.Balance); pf.Save(); } } } catch { } } } } //r = _dtPutAwayNonPalletized.Select(string.Format("Index = '{0}'", i)); string filterQuery = _revDocRelatePalletGuid.ContainsKey(guid) ? string.Format("{0} AND IsDamaged = {1}", GetFilterByGuid(_revDocRelatePalletGuid[guid]), isDamaged) : string.Format("GUID = '{0}' AND IsDamaged = {1} ", guid, isDamaged); r = _dtPutAwayNonPalletized.Select(filterQuery); if (r.Length > 0) { // Save the palletization and the putaway here,// this was supposed to be out of here but it is easlier to implement here. foreach (DataRow rw in r) { pl.LoadByPrimaryKey(Convert.ToInt32(rw["PutAwayLocation"])); if (pl.IsColumnNull("PalletID")) { pallet.AddNew(); pallet.Save(); } else { pallet.LoadByPrimaryKey(pl.PalletID); } rp.AddNew(); rp.IsOriginalReceive = true; rp.PalletID = pallet.ID; rp.PalletLocationID = pl.ID; // rp.ReceiveID = rec.ID; rp.ReservedStock = 0; im.LoadIMbyLevel(Convert.ToInt32(rw["ID"]), Convert.ToInt32(rw["Manufacturer"]), Convert.ToInt32(rw["BoxLevel"])); int qtyPerPack = im.QuantityInBasicUnit; if (rw["UnitID"] != DBNull.Value) { itemUnit.LoadByPrimaryKey(Convert.ToInt32(rw["UnitID"])); qtyPerPack = itemUnit.QtyPerUnit; } rp.ReceivedQuantity = rp.Balance = (Convert.ToDecimal(rw["Palletized Quantity"]) * Convert.ToDecimal(qtyPerPack)); rp.BoxSize = Convert.ToInt32(rw["BoxLevel"]); //Get the putaway location pl.Save(); if (pl.IsColumnNull("PalletID")) { pl.PalletID = pallet.ID; pl.Confirmed = false; pl.Save(); } } } if (rec.IsColumnNull("PhysicalStoreID") && !rp.IsColumnNull("PalletLocationID")) { PalletLocation l = new PalletLocation(); l.LoadByPrimaryKey(rp.PalletLocationID); PhysicalStore physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(l.PhysicalStoreID); rec.PhysicalStoreID = (l.PhysicalStoreID); // we can take any of the pallet location physical store. as we have one entry on receiveDoc per Store. if (physicalStore.IsColumnNull("CurrentInventoryPeriodID")) { XtraMessageBox.Show(string.Format("Please Set InventoryPeriod for '{0}' PhysicalStore!", physicalStore.Name), "Empty InventoryPeriod", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new Exception(string.Format("Please Set InventoryPeriod for '{0}' PhysicalStore!", physicalStore.Name)); } rec.InventoryPeriodID = physicalStore.CurrentInventoryPeriodID; } rec.Save(); rp.Rewind(); while (!rp.EOF) { rp.ReceiveID = rec.ID; rp.MoveNext(); } rp.Save(); SavePutAwayItems(); }
private void btnSave_Click(object sender, EventArgs e) { int warehouseID = Convert.ToInt32(lkWarehouse.EditValue); receiveDoc.Rewind(); var po = new BLL.PO(); var receiptInvoice = new BLL.ReceiptInvoice(); while (!receiveDoc.EOF) { //Handle the PO. //int receiptID; if (po.RowCount == 0 || po.StoreID != receiveDoc.StoreID) { Supplier supplier = new Supplier(); po = BLL.PO.CreatePOforStandard(OrderType.CONSTANTS.STANDARD_ORDER, receiveDoc.StoreID, supplier.GetHubHomeOfficeSupplierID(), "", CurrentContext.LoggedInUser.ID); //Should we receive it as hub to hub transfer? We're now using Standard order. receipt = BLL.ReceiptInvoice.CreateAutomaticReceiptInvoiceForSTVTransfer(po.ID, warehouseID, STVNo, CurrentContext.UserId); } receiveDoc.Quantity = receiveDoc.QtyPerPack * receiveDoc.NoOfPack; receiveDoc.ReceiptID = receipt.ID; receiveDoc.MoveNext(); } receiveDoc.Save(); //Save the location receiveDoc.Rewind(); BLL.ReceivePallet receivePallet = new ReceivePallet(); while (!receiveDoc.EOF) { //Save Location Information BLL.PalletLocation palletLocation = new PalletLocation(); receivePallet.AddNew(); int palletLocationID = Convert.ToInt32(receiveDoc.GetColumn("PalletLocationID")); receivePallet.PalletLocationID = palletLocationID; palletLocation.LoadByPrimaryKey(palletLocationID); receivePallet.PalletID = palletLocation.PalletID; receivePallet.ReceivedQuantity = receiveDoc.Quantity; receivePallet.Balance = receiveDoc.Quantity; receivePallet.ReceiveID = receiveDoc.ID; receivePallet.ReservedStock = 0; //Save Discrepancy information if there is any receiveDocShortage.Rewind(); while (receiveDocShortage.FindNextByGUID(receiveDoc.GetColumn("GUID").ToString())) { receiveDocShortage.ReceiveDocID = receiveDoc.ID; if (receiveDocShortage.ShortageReasonID == ShortageReasons.Constants.DAMAGED) { receiveDoc.NoOfPack += receiveDocShortage.NoOfPacks; receiveDoc.Quantity += receiveDocShortage.NoOfPacks * receiveDoc.QtyPerPack; palletLocationID = Convert.ToInt32(receiveDocShortage.GetColumn("PalletLocationID")); receivePallet.AddNew(); receivePallet.PalletLocationID = palletLocationID; palletLocation.LoadByPrimaryKey(palletLocationID); receivePallet.PalletID = palletLocation.PalletID; receivePallet.ReceivedQuantity = receiveDocShortage.NoOfPacks * receiveDoc.QtyPerPack; receivePallet.Balance = receiveDocShortage.NoOfPacks * receiveDoc.QtyPerPack; receivePallet.ReceiveID = receiveDoc.ID; receivePallet.ReservedStock = 0; } } receiveDoc.MoveNext(); } receivePallet.IsOriginalReceive = true; receivePallet.Save(); }
public static decimal GetSoundStock(CostElement costElement) { ReceiveDoc receipt = new ReceiveDoc(); var query = HCMIS.Repository.Queries.ReceiveDoc.SelectGetSoundStock(costElement.ItemID, costElement.ItemUnitID, costElement.ManufacturerID, costElement.MovingAverageID, ReceiptConfirmationStatus.Constants.GRV_PRINTED); receipt.LoadFromRawSql(query); return Convert.ToDecimal(receipt.GetColumn("Quantity")); }
/// <summary> /// Saves the new receive doc entry from picklist detail. /// </summary> /// <param name="pld">The PLD.</param> /// <param name="userID">The user ID.</param> /// <param name="activityID">The new store ID.</param> /// <param name="newPhysicalStoreID">The new physical store ID.</param> /// <param name="convertedEthDate">The converted eth date.</param> /// <param name="supplierID">Activity or Store where it has Transfered from </param> /// <exception cref="System.Exception"></exception> internal void SaveNewReceiveDocEntryFromPicklistDetail(PickListDetail pld, int userID, int activityID, int newPhysicalStoreID, DateTime convertedEthDate,int receiptID,int? supplierID) { BLL.User user = new User(); user.LoadByPrimaryKey(userID); BLL.ReceiveDoc rdOriginal = new ReceiveDoc(); rdOriginal.LoadByPrimaryKey(pld.ReceiveDocID); //Now Save the receive doc entry this.AddNew(); this.SetColumn("BatchNo", pld.GetColumn("BatchNumber")); this.ItemID = pld.ItemID; if (supplierID != null) this.SupplierID = supplierID.Value; this.Quantity = pld.QuantityInBU; //this.Date= this.Date = convertedEthDate; this.SetColumn("ExpDate", rdOriginal.GetColumn("ExpDate")); this.Out = false; this.ReceivedBy = user.UserName; this.StoreID = activityID; SetColumn("LocalBatchNo", rdOriginal.GetColumn("LocalBatchNo")); this.RefNo = receiptID.ToString(); this.SetColumn("Cost", rdOriginal.GetColumn("Cost")); this.SetColumn("IsApproved", rdOriginal.GetColumn("IsApproved")); this.ManufacturerId = rdOriginal.ManufacturerId; this.QuantityLeft = this.Quantity; this.NoOfPack = pld.Packs; this.QtyPerPack = rdOriginal.QtyPerPack; this.EurDate = DateTimeHelper.ServerDateTime; this.SetColumn("SellingPrice", rdOriginal.GetColumn("SellingPrice")); this.SetColumn("UnitCost", rdOriginal.GetColumn("Cost")); this.SetColumn("Cost", rdOriginal.GetColumn("Cost")); this.SetColumn("PricePerPack", rdOriginal.GetColumn("Cost")); this.SetColumn("UnitID", rdOriginal.GetColumn("UnitID")); this.SetColumn("DeliveryNote", rdOriginal.GetColumn("DeliveryNote")); this.Confirmed = false; this.ConfirmedDateTime = DateTimeHelper.ServerDateTime; this.ReturnedStock = false; this.ReceiptID = receiptID; this.PhysicalStoreID = newPhysicalStoreID; PhysicalStore physicalStore = new PhysicalStore(); physicalStore.LoadByPrimaryKey(newPhysicalStoreID); this.InventoryPeriodID = physicalStore.CurrentInventoryPeriodID; this.SetColumn("Margin", rdOriginal.GetColumn("Margin")); this.InvoicedNoOfPack = pld.Packs; this.IsDamaged = (bool) rdOriginal.GetColumn("IsDamaged"); this.Save(); //Now Save the ReceiveDocConfirmation ReceiveDocConfirmation rdConf = new ReceiveDocConfirmation(); rdConf.AddNew(); rdConf.ReceiveDocID = this.ID; rdConf.ReceivedByUserID = userID; rdConf.ReceiptConfirmationStatusID = BLL.ReceiptConfirmationStatus.Constants.RECEIVE_ENTERED; rdConf.Save(); //Now Save the palletization. ReceivePallet rp = new ReceivePallet(); rp.AddNew(); rp.ReceivedQuantity = this.Quantity; rp.Balance = this.Quantity; rp.ReservedStock = 0; rp.ReceiveID = this.ID; PalletLocation pLocation = new PalletLocation(); pLocation.LoadFirstOrDefault(newPhysicalStoreID, int.Parse(BLL.StorageType.BulkStore)); if (pLocation.RowCount == 0) { throw new Exception("No locations created in the destination store. Please check if there are Bulk store pallet locations in the physical store."); } else { if (pLocation.IsColumnNull("PalletID")) { Pallet pallet = new Pallet(); pallet.AddNew(); pallet.PalletNo = BLL.Pallet.GetLastPanelNumber() + 1; pallet.StorageTypeID = int.Parse(BLL.StorageType.Free); pallet.Save(); pLocation.PalletID = pallet.ID; } rp.PalletID = pLocation.PalletID; rp.PalletLocationID = pLocation.ID; rp.BoxSize = 0; rp.IsOriginalReceive = true; rp.Save(); } }
internal PalletLocation GetWhereItIsLocated() { int receiveDocID = this.ID; var query = HCMIS.Repository.Queries.ReceiveDoc.SelectGetWhereItIsLocated(receiveDocID); BLL.ReceiveDoc rd = new ReceiveDoc(); rd.LoadFromRawSql(query); if(rd.RowCount==0) { throw new Exception(string.Format("Pallet doesn't exist for the receive ID = {0}", receiveDocID)); } int palletLocationID = Convert.ToInt32(rd.GetColumn("PalletLocationID")); //We just take the first one. BLL.PalletLocation pl = new PalletLocation(); pl.LoadByPrimaryKey(palletLocationID); return pl; }
public static int FixQuantityProblem(int itemId) { BLL.ReceiveDoc rd = new ReceiveDoc(); var query = HCMIS.Repository.Queries.ReceiveDoc.SelectFixQuantityProblem(itemId); rd.LoadFromRawSql(query); int i = Convert.ToInt32(rd.GetColumn("Count")); query = HCMIS.Repository.Queries.ReceiveDoc.UpdateFixQuantityProblemReceivedoc(itemId); rd.LoadFromRawSql(query); return i; }
private void ConfirmQuantityAndLocation() { MyGeneration.dOOdads.TransactionMgr transaction = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); transaction.BeginTransaction(); try { PalletLocation pl = new PalletLocation(); DataRow dr = gridReceiveView.GetFocusedDataRow(); if (dr == null) { throw new Exception("Nothing to confirm!"); } int ReceiptID = Convert.ToInt32(gridReceiveView.GetFocusedDataRow()["ReceiptID"]); if (gridDetailView.DataSource == null) return; BLL.ReceiveDoc receiveDoc = new ReceiveDoc(); receiveDoc.LoadByReceiptIDWithReceivePallet(ReceiptID); while (!receiveDoc.EOF) { int palletLocationID = Convert.ToInt32(receiveDoc.GetColumn("PalletLocationID")); pl.LoadByPrimaryKey(palletLocationID); pl.Confirmed = true; pl.Save(); receiveDoc.MoveNext(); } BLL.ReceiveDoc recDoc = new ReceiveDoc(); recDoc.LoadByReceiptID(ReceiptID); recDoc.ConfirmQuantityAndLocation(CurrentContext.UserId); BLL.Receipt receiptStatus = new BLL.Receipt(); receiptStatus.LoadByPrimaryKey(ReceiptID); receiptStatus.ChangeStatus(ReceiptConfirmationStatus.Constants.RECEIVE_QUANTITY_CONFIRMED, null, this.GetFormIdentifier(), CurrentContext.UserId, "Receive Confirmed"); transaction.CommitTransaction(); XtraMessageBox.Show("Receipt Confirmed!", "Success", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information); BindFormContents(); } catch (Exception exp) { transaction.RollbackTransaction(); XtraMessageBox.Show(exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }