/// <summary> /// Utility that generates reference number f /// </summary> public void GenerateRefNo() { LossAndAdjustment d = new LossAndAdjustment(); d.LoadFromRawSql(HCMIS.Repository.Queries.LossAndAdjustment.SelectGenerateRefNo()); int newRefNo = 0; if (!d.IsColumnNull("NewRefNo")) newRefNo = d.Getint("NewRefNo"); this.RefNo = (++newRefNo).ToString(); }
private void cboReasons_EditValueChanged(object sender, EventArgs e) { if (lkActivity.EditValue != null && cboReasons.EditValue != null) { LossAndAdjustment Adj = new LossAndAdjustment(); DataTable dtRec = new DataTable(); dtRec = Adj.GetTransactionByReason(Convert.ToInt32(lkActivity.EditValue), Convert.ToInt32(cboReasons.EditValue)); gridAdjustments.DataSource = dtRec; } }
/// <summary> /// Utility that generates reference number f /// </summary> public void GenerateRefNo() { LossAndAdjustment d = new LossAndAdjustment(); d.LoadFromRawSql(HCMIS.Repository.Queries.LossAndAdjustment.SelectGenerateRefNo()); int newRefNo = 0; if (!d.IsColumnNull("NewRefNo")) { newRefNo = d.Getint("NewRefNo"); } this.RefNo = (++newRefNo).ToString(); }
/// <summary> /// Get begining balance by item, store and month /// </summary> /// <param name="year">The year.</param> /// <param name="storeId">The store id.</param> /// <param name="itemId">The item id.</param> /// <param name="month">The month.</param> /// <returns></returns> public Int64 GetBBalance(int year, int storeId, int itemId, int month) { this.FlushData(); Int64 bb = 0; int bYear = ((month > 10) ? year : year - 1); this.LoadFromRawSql(HCMIS.Repository.Queries.YearEnd.SelectGetBBalance(storeId, itemId, bYear)); if (this.DataTable.Rows.Count > 0) { bb = Convert.ToInt64(this.DataTable.Rows[0]["PhysicalInventory"]); } else { this.LoadFromRawSql(HCMIS.Repository.Queries.YearEnd.SelectGetBBalanceSelectElse(year, storeId, itemId)); if (this.DataTable.Rows.Count > 0) { bb = Convert.ToInt64(this.DataTable.Rows[0]["PhysicalInventory"]); } else if (((year + 8) > DateTimeHelper.ServerDateTime.Year) || (month > 10 && (year + 8) == DateTimeHelper.ServerDateTime.Year)) // to check if it is different year from current { Int64 cons = 0; IssueDoc iss = new IssueDoc(); ReceiveDoc rec = new ReceiveDoc(); LossAndAdjustment dis = new LossAndAdjustment(); if ((year + 8) > DateTimeHelper.ServerDateTime.Year) // to check if it is hamle and Nehase { year = year - 1; } month = 10; //} long receivedQuantity = rec.GetReceivedQuantityTillMonth(itemId, storeId, month, year); long adjustedQuantity = dis.GetAdjustedQuantityTillMonth(itemId, storeId, month, year); long issuedQuantity = iss.GetIssuedQuantityTillMonth(itemId, storeId, month, year); long lostQuantity = dis.GetLossesQuantityTillMonth(itemId, storeId, month, year); cons = (receivedQuantity + adjustedQuantity - issuedQuantity - lostQuantity); bb = cons; } } return(bb); }
private void cboStores_EditValueChanged(object sender, EventArgs e) { if (lkActivity.EditValue != null) { LossAndAdjustment Adj = new LossAndAdjustment(); DataTable dtRec = Adj.GetDistinctAdjustmentDocments(Convert.ToInt32(lkActivity.EditValue)); /*PopulateDocument(dtRec);*/ lstTree.DataSource = dtRec; DateTime dt1 = new DateTime(); DateTime dt2 = new DateTime(); CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx(); dtDate.CustomFormat = "MM/dd/yyyy"; dtDate.Value = DateTimeHelper.ServerDateTime; DateTime dtCurrent = ConvertDate.DateConverter(dtDate.Text); int yr = ((dtCurrent.Month > 10) ? dtCurrent.Year : dtCurrent.Year - 1); dt1 = new DateTime(yr, 11, 1); dt2 = new DateTime(dtCurrent.Year, dtCurrent.Month, dtCurrent.Day); dtRec = Adj.GetTransactionByDateRange(Convert.ToInt32(lkActivity.EditValue), dt1, dt2); lblAdjDate.Text = "Current Year"; gridAdjustments.DataSource = dtRec; } }
private void dtTo_ValueChanged(object sender, EventArgs e) { LossAndAdjustment Adj = new LossAndAdjustment(); DataTable dtRec = new DataTable(); dtFrom.CustomFormat = "MM/dd/yyyy"; dtTo.CustomFormat = "MM/dd/yyyy"; DateTime dteFrom = new DateTime(); DateTime dteTo = new DateTime(); dteFrom = ConvertDate.DateConverter(dtFrom.Text); dteTo = ConvertDate.DateConverter(dtTo.Text); if (dteFrom < dteTo) { dtRec = Adj.GetTransactionByDateRange(Convert.ToInt32(lkActivity.EditValue), dteFrom, dteTo); } else { dtRec = Adj.GetAllTransaction(Convert.ToInt32(lkActivity.EditValue)); } gridAdjustments.DataSource = dtRec; }
private void LstTreeFocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { DateTime dt1 = new DateTime(); DateTime dt2 = new DateTime(); CalendarLib.DateTimePickerEx dtDate = new CalendarLib.DateTimePickerEx(); dtDate.CustomFormat = "MM/dd/yyyy"; dtDate.Value = DateTimeHelper.ServerDateTime; DateTime dtCurrent = ConvertDate.DateConverter(dtDate.Text); DataRowView dr = (DataRowView)lstTree.GetDataRecordByNode(lstTree.FocusedNode); if (dr != null) { LossAndAdjustment disp = new LossAndAdjustment(); DataTable dtRec = new DataTable(); if (dr["ParentID"] == DBNull.Value) { int yr = ((dtCurrent.Month > 10) ? dtCurrent.Year : dtCurrent.Year - 1); dt1 = new DateTime(Convert.ToInt32(dr["ID"]) - 1, 11, 1); dt2 = new DateTime(Convert.ToInt32(dr["ID"]), 11, 1); dtRec = disp.GetTransactionByDateRange(Convert.ToInt32(lkActivity.EditValue), dt1, dt2); string dateString = dr["RefNo"].ToString(); lblAdjDate.Text = dateString; } else { dtRec = disp.GetDocumentByRefNo(dr["RefNo"].ToString(), Convert.ToInt32(lkActivity.EditValue), dr["Date"].ToString()); lblAdjDate.Text = Convert.ToDateTime(dr["Date"]).ToString("MM dd,yyyy"); } gridAdjustments.DataSource = dtRec; } }
public Collection<Order> GetOrders() { var orders = new Collection<Order>(); _tblRrf = (DataTable)gridItemsChoice.DataSource; tblRRF = (DataTable)gridItemsChoice.DataSource; var info = new GeneralInfo(); info.LoadAll(); var client1 = new ServiceRRFLookupClient(); var req = new GetCurrentReportingPeriodRequest { Password = RRFServiceIntegration.PlitsPassword, UserName = RRFServiceIntegration.PlitsUserName, Supplychainunitid = RRFServiceIntegration.GetBranchID() }; var branchReq = new GetBranchRRFormRequest { UserName = RRFServiceIntegration.PlitsUserName, Password = RRFServiceIntegration.PlitsPassword, Supplychainunitid = RRFServiceIntegration.GetBranchID() }; var formReq = new GetFormsRequest { Password = RRFServiceIntegration.PlitsPassword, UserName = RRFServiceIntegration.PlitsUserName, Supplychainunitid = RRFServiceIntegration.GetBranchID() }; var forms = client1.GetForms(formReq).GetFormsResult; var formid = forms[0].Id; var periods = client1.GetCurrentReportingPeriod(req).GetCurrentReportingPeriodResult; var period = periods[0].Id; branchReq.Formid = formid; branchReq.Reportingperiodid = period; var chosenCatId = 91;//RRFHelper.GetRrfCategoryId(cboStores.Text); var rrfs = client1.GetBranchRRForm(branchReq).GetBranchRRFormResult; var formCategories = rrfs.First().FormCategories; var chosenCategoryBody = formCategories.First(x => x.Id == chosenCatId); //Hard coding to be removed. var items = chosenCategoryBody.Pharmaceuticals; //Let's just store the items here (May not be required) var user = new User(); user.LoadByPrimaryKey(CurrentContext.LoggedInUser.ID); var order = new HCMIS.Desktop.PLITSTransactionalService.Order { //Id = (int)rrf["Id"], RequestCompletedDate = BLL.DateTimeHelper.ServerDateTime,//Convert.ToDateTime(rrf["DateOfSubmissionEth"]), OrderCompletedBy = user.FullName, RequestVerifiedDate = BLL.DateTimeHelper.ServerDateTime, OrderTypeId = 1, //This needs to be changed to constant class or something. 1 - Regular, 2 - Emergency' SubmittedBy = user.FullName, SubmittedDate = BLL.DateTimeHelper.ServerDateTime, SupplyChainUnitId = Helpers.RRFServiceIntegration.GetBranchID(), OrderStatus = 1,//TODO: hardcoding FormId = formid,//TODO: hardcoding ReportingPeriodId = period //TODO: hardcoding }; // order.OrderTypeId = (int)tblrrf.Rows[i]["RRfTpyeId"]; // Set order properties //order.FormId = rrfForm.Id; //Form.ID? or RRFForm.ID? - doesn't make sense // order.ReportingPeriodId = periods[0].Id; //Asked again here? Because RRFForm already contains this. var details = new Collection<OrderDetail>(); int i = 0; var xx = tblRRF.Rows.Count; foreach (DataRow rrfLine in tblRRF.Rows) { var detail = new PLITSTransactionalService.OrderDetail(); var hcmisItemID = Convert.ToInt32(rrfLine["ID"]); var rrFormPharmaceutical = items.FirstOrDefault(x => x.PharmaceuticalId == Convert.ToInt32(rrfLine["ID"])); if (rrfLine != null && rrFormPharmaceutical!=null) { detail.BeginningBalance = Convert.ToInt32(rrfLine["BeginingBalance"]); //DaysOutOfStock daysOfStockOut = new DaysOutOfStock() { NumberOfDaysOutOfStock = 1 }; //detail.DaysOutOfStocks.Add(daysOfStockOut);//Convert.ToInt32(rrfLine["DaysOutOfStock"]); int eBalance = Convert.ToInt32(rrfLine["SOH"]); detail.EndingBalance = eBalance == 0 ? 1 : eBalance; //To make sure ending balance is not zero. //detail.ItemId = Convert.ToInt32(rrfLine["ID"]); //Needs to come from the Code column of Items table. detail.QuantityReceived = Convert.ToInt32(rrfLine["Received"]); detail.QuantityOrdered = Convert.ToInt32(rrfLine["Quantity"]); detail.LossAdjustment = Convert.ToInt32(rrfLine["LossAdj"]); if (rrFormPharmaceutical != null) detail.ItemId = rrFormPharmaceutical.ItemId; else throw new Exception("Item ID Mismatch"); var rdDoc = new ReceiveDoc(); var lossAndAdjustment = new LossAndAdjustment(); rdDoc.GetAllWithQuantityLeft(hcmisItemID, _storeID); lossAndAdjustment.GetLossAdjustmentsForLastRRFPeriod(hcmisItemID, _storeID, periods[0].StartDate, periods[0].EndDate); int receiveDocEntries = rdDoc.RowCount; int disposalEntries = lossAndAdjustment.RowCount; rdDoc.Rewind(); for (var j = 0; j < receiveDocEntries; j++) { var exp = new Expiry { Amount = Convert.ToInt32(rdDoc.QuantityLeft), BatchNo = rdDoc.BatchNo, ExpiryDate = rdDoc.ExpDate }; detail.Expiries.Add(exp); rdDoc.MoveNext(); } lossAndAdjustment.Rewind(); for (var j = 0; j < disposalEntries; j++) { var adj = new Adjustment {Amount = Convert.ToInt32(lossAndAdjustment.Quantity), TypeId = 11, ReasonId = 39}; detail.Adjustments.Add(adj); lossAndAdjustment.MoveNext(); } var stockoutIndexedLists = StockoutIndexBuilder.Builder.GetStockOutHistory(hcmisItemID, _storeID); for (int j = 0; j < stockoutIndexedLists.Count; j++) { var dos = new DaysOutOfStock { NumberOfDaysOutOfStock = stockoutIndexedLists[j].NumberOfDays, StockOutReasonId = 5 }; detail.DaysOutOfStocks.Add(dos); } details.Add(detail); } } order.OrderDetails = details; orders.Add(order); // loop through each record and create order & order details objects return orders; //var user = new User(); //user.LoadByPrimaryKey(NewMainWindow.LoggedInUser.ID); //foreach (DataRow rrf in tblRRF.Rows) //{ // var order = new HCMIS.Desktop.PLITSTransactionalService.Order // { // Id = (int)rrf["Id"], // RequestCompletedDate = DateTime.Now,//Convert.ToDateTime(rrf["DateOfSubmissionEth"]), // OrderCompletedBy = user.FullName, // RequestVerifiedDate = DateTime.Now, // OrderTypeId = 1, //This needs to be changed to constant class or something. 1 - Regular, 2 - Emergency' // SubmittedBy = user.FullName, // SubmittedDate = DateTime.Now, // SupplyChainUnitId = RRFServiceIntegration.BranchID, // OrderStatus = 1, // FormId = formid // }; // // order.OrderTypeId = (int)tblrrf.Rows[i]["RRfTpyeId"]; // // Set order properties // //order.FormId = rrfForm.Id; //Form.ID? or RRFForm.ID? - doesn't make sense // // order.ReportingPeriodId = periods[0].Id; //Asked again here? Because RRFForm already contains this. // var details = new Collection<OrderDetail>(); // foreach (DataRow rrfLine in tblRRF.Rows) // { // var detail = new PLITSTransactionalService.OrderDetail(); // var rrFormPharmaceutical = items.FirstOrDefault(x => x.ItemId == Convert.ToInt32(rrfLine["ID"])); // if (rrfLine != null && rrFormPharmaceutical != null) // //detail.Adjustments[0].Amount = (int)rrfLine["Adjustments"]; // { // detail.BeginningBalance = Convert.ToInt32(rrfLine["BeginingBalance"]); // //detail.DaysOutOfStocks = Convert.ToInt32(rrfLine["DaysOutOfStock"]); // detail.EndingBalance = Convert.ToInt32(rrfLine["SOH"]); // //detail.ItemId = Convert.ToInt32(rrfLine["ID"]); //Needs to come from the Code column of Items table. // detail.QuantityReceived = Convert.ToInt32(rrfLine["Received"]); // detail.QuantityOrdered = Convert.ToInt32(rrfLine["Quantity"]); // detail.LossAdjustment = Convert.ToInt32(rrfLine["LossAdj"]); // if (rrFormPharmaceutical != null) // detail.PharmaceuticalId = rrFormPharmaceutical.PharmaceuticalId; // // detail.PharmaceuticalId = Convert.ToInt32(rrfLine["ItemID"]); // // detail.PharmaceuticalId = pharId; // } // details.Add(detail); // } // order.OrderDetails = details; // orders.Add(order); //} //// loop through each record and create order & order details objects //return orders; }
/// <summary> /// Get begining balance by item, store and month /// </summary> /// <param name="year">The year.</param> /// <param name="storeId">The store id.</param> /// <param name="itemId">The item id.</param> /// <param name="month">The month.</param> /// <returns></returns> public Int64 GetBBalance(int year, int storeId, int itemId, int month) { this.FlushData(); Int64 bb = 0; int bYear = ((month > 10) ? year : year - 1); this.LoadFromRawSql(HCMIS.Repository.Queries.YearEnd.SelectGetBBalance(storeId, itemId, bYear)); if (this.DataTable.Rows.Count > 0) { bb = Convert.ToInt64(this.DataTable.Rows[0]["PhysicalInventory"]); } else { this.LoadFromRawSql(HCMIS.Repository.Queries.YearEnd.SelectGetBBalanceSelectElse(year, storeId, itemId)); if (this.DataTable.Rows.Count > 0) { bb = Convert.ToInt64(this.DataTable.Rows[0]["PhysicalInventory"]); } else if (((year + 8) > DateTimeHelper.ServerDateTime.Year) || (month > 10 && (year + 8) == DateTimeHelper.ServerDateTime.Year)) // to check if it is different year from current { Int64 cons = 0; IssueDoc iss = new IssueDoc(); ReceiveDoc rec = new ReceiveDoc(); LossAndAdjustment dis = new LossAndAdjustment(); if ((year + 8) > DateTimeHelper.ServerDateTime.Year) // to check if it is hamle and Nehase year = year - 1; month = 10; //} long receivedQuantity = rec.GetReceivedQuantityTillMonth(itemId, storeId, month, year); long adjustedQuantity = dis.GetAdjustedQuantityTillMonth(itemId, storeId, month, year); long issuedQuantity = iss.GetIssuedQuantityTillMonth(itemId, storeId, month, year); long lostQuantity = dis.GetLossesQuantityTillMonth(itemId, storeId, month, year); cons = (receivedQuantity + adjustedQuantity - issuedQuantity - lostQuantity); bb = cons; } } return bb; }
private void btnCommit_Click(object sender, EventArgs e) { if (ValidateQuarantine()) { MyGeneration.dOOdads.TransactionMgr transaction = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); transaction.BeginTransaction(); if (DialogResult.Yes == XtraMessageBox.Show("Are you sure you want to commit the Loss and Adjustment on this screen?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { // do the actual commit here. int printNubmer = InternalTransfer.GetNewPrintNumber() + 1; PalletLocation pl = new PalletLocation(); Pallet p = new Pallet(); ReceiveDoc rdoc = new ReceiveDoc(); ReceivePallet rp = new ReceivePallet(); for (int i = 0; i < gridView1.RowCount; i++) { DataRow dr = gridView1.GetDataRow(i); Double writeoff = 0; Double reLocate = 0; try { if (dr["WriteOff"] != DBNull.Value) { writeoff = Double.Parse(dr["WriteOff"].ToString()); } if (dr["ReLocate"] != DBNull.Value) { reLocate = Double.Parse(dr["ReLocate"].ToString()); } } catch (Exception exc) { } if (dr["WriteOff"] != DBNull.Value & writeoff > 0) { if (Double.Parse(dr["WriteOff"].ToString()) > Double.Parse(dr["Balance"].ToString())) { XtraMessageBox.Show("Couldn't commit to the numbers you specified. Please specify number less than the balance.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int writeoffAmout = Convert.ToInt32(dr["WriteOff"]); int qtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); writeoffAmout *= qtyPerPack; rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); string x = dr["NewPalletLocation"].ToString(); rp.Balance -= writeoffAmout; try { // rp.ReceivedQuantity -= writeoffAmout; } catch { } rdoc.QuantityLeft -= writeoffAmout; ReceivePallet nrp = new ReceivePallet(); nrp.AddNew(); nrp.ReceiveID = rp.ReceiveID; nrp.PalletID = pl.GetpalletidbyPalletLocationOrgetnew(int.Parse(dr["NewPalletLocation"].ToString())); //nrp.ReceivedQuantity = rp.ReceivedQuantity; nrp.Balance = writeoffAmout; nrp.ReservedStock = 0; //nrp.ReserveOrderID = rp.ReserveOrderID; nrp.BoxSize = rp.BoxSize; nrp.PalletLocationID = int.Parse(dr["NewPalletLocation"].ToString()); nrp.IsOriginalReceive = rp.IsOriginalReceive; BLL.LossAndAdjustment d = new BLL.LossAndAdjustment(); d.AddNew(); d.GenerateRefNo(); d.ItemID = Convert.ToInt32(dr["ItemID"]); d.ReasonId = Convert.ToInt32(dr["Reason"]); d.RecID = rdoc.ID; d.Quantity = writeoffAmout; d.BatchNo = rdoc.BatchNo; CalendarLib.DateTimePickerEx edate = new CalendarLib.DateTimePickerEx(); edate.Value = DateTime.Today; //TODO: fix to an ethiopian date here edate.CustomFormat = "MM/dd/yyyy"; d.Date = ConvertDate.DateConverter(edate.Text); d.EurDate = DateTime.Today; d.Cost = rdoc.IsColumnNull("Cost")? 0: Math.Abs(rdoc.Cost * writeoffAmout); d.StoreId = rdoc.StoreID; d.Losses = true; //todo: d.ApprovedBy = CurrentContext.UserId.ToString(); //d.Remarks InternalTransfer it = new InternalTransfer(); it.AddNew(); it.ItemID = d.ItemID; it.FromPalletLocationID = pl.GetPalletLocationIDByPalletID(int.Parse(dr["PalletID"].ToString())); it.ToPalletLocationID = nrp.PalletLocationID; it.BatchNumber = d.BatchNo; if (!rdoc.IsColumnNull("ExpDate")) { it.ExpireDate = rdoc.ExpDate; } it.ReceiveDocID = rdoc.ID; it.ManufacturerID = rdoc.ManufacturerId; it.QtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); it.Packs = rdoc.NoOfPack; it.QuantityInBU = nrp.Balance; LossAndAdjustmentReason r = new LossAndAdjustmentReason(); it.Type = r.GetReasonByID(d.ReasonId); // d.Save(); rdoc.Save(); rp.Save(); rdoc.QuantityLeft += writeoffAmout; rdoc.Save(); nrp.Save(); it.Save(); int xs = it.ID; } else if (dr["ReLocate"] != DBNull.Value & reLocate > 0) { if (dr["ReLocate"] != DBNull.Value) { int amount = Convert.ToInt32(dr["ReLocate"]); int qtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); amount *= qtyPerPack; rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); int palletLocationID = Convert.ToInt32(dr["PalletLocationID"]); int qPalletLocationID = PalletLocation.GetQuaranteenPalletLocationByPalletLocationID(palletLocationID); //PalletLocation.GetQuaranteenPalletLocation(Convert.ToInt32(dr["ID"])); pl.LoadByPrimaryKey(qPalletLocationID); ReceivePallet rp2 = new ReceivePallet(); ReceiveDoc rd = new ReceiveDoc(); Pallet pallet = new Pallet(); rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rd.LoadByPrimaryKey(rp.ReceiveID); pallet.AddNew(); Item item = new Item(); item.LoadByPrimaryKey(rdoc.ItemID); if (item.StorageTypeID.ToString() == StorageType.BulkStore) { pallet.PalletNo = Pallet.GetLastPanelNumber(); } pallet.Save(); rp2.AddNew(); rp2.PalletID = pl.GetpalletidbyPalletLocationOrgetnew(int.Parse(dr["NewPalletLocation"].ToString()));//pallet.ID; rp2.ReceiveID = rp.ReceiveID; rp2.IsOriginalReceive = rp.IsOriginalReceive; // calculate the new balance BLL.ItemManufacturer im = new BLL.ItemManufacturer(); //im.LoadDefaultReceiving(rd.ItemID, Convert.ToInt32(dr["ManufacturerID"])); //im.LoadIMbyLevel(rd.ItemID, Convert.ToInt32(dr["ManufacturerID"]), Convert.ToInt32(dr["BoxLevel"])); //int packqty = (amount / im.QuantityInBasicUnit); rd.QuantityLeft -= amount; rp.Balance -= amount; rd.Save(); rp.Save(); rd.QuantityLeft += amount; rp2.Balance = amount;//packqty * im.QuantityInBasicUnit; rd.Save(); rp2.BoxSize = rp.BoxSize; rp2.ReservedStock = 0; rp2.PalletLocationID = int.Parse(dr["NewPalletLocation"].ToString()); rp2.Save(); pl.Confirmed = false; pl.Save(); // select the new pallet location here. /* XtraForm xdb = new XtraForm(); * xdb.Controls.Add(panelControl2); * Item itms= new Item(); * itms.GetItemByPrimaryKey(Convert.ToInt32(dr["ItemID"])); * lblItemName.Text = itms.FullItemName; * panelControl2.Visible = true; * panelControl2.Dock = DockStyle.Fill; * xdb.Text = "Select Location for relocated Item"; * lkLocation.Properties.DataSource = PalletLocation.GetAllFreeFor(Convert.ToInt32(dr["ItemID"])); * xdb.ShowDialog(); * * PalletLocation pl2 = new PalletLocation(); * pl2.LoadByPrimaryKey(Convert.ToInt32(lkLocation.EditValue)); * pl2.PalletID = pallet.ID; * pl2.Confirmed = false; * pl2.Save(); */ InternalTransfer it = new InternalTransfer(); it.AddNew(); it.ItemID = rd.ItemID; it.BoxLevel = 0; // im.PackageLevel; //it.ExpireDate = rd.ExpDate; if (!rd.IsColumnNull("ExpDate")) { it.ExpireDate = rd.ExpDate; } it.BatchNumber = rd.BatchNo; it.ManufacturerID = Convert.ToInt32(dr["ManufacturerID"]); //im.ManufacturerID; it.FromPalletLocationID = qPalletLocationID; it.ToPalletLocationID = int.Parse(dr["NewPalletLocation"].ToString()); //pl2.ID; it.QtyPerPack = 1; //it.Packs = pack qty; it.ReceiveDocID = rp.ReceiveID; it.QuantityInBU = amount; // it.QtyPerPack; it.Type = "ReLocation"; it.IssuedDate = DateTime.Today; it.Status = 0; it.PrintNumber = printNubmer; it.Save(); } } } transaction.CommitTransaction(); BindQuarantine(); XtraMessageBox.Show("Quarantine Write off/Adjustment was commitd.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void btnAdjustments_Click(object sender, EventArgs e) { if (ValidateMoveToAdjustments()) { if (DialogResult.Yes == XtraMessageBox.Show("Are you sure you would like to commit this adjustment?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { PalletLocation pl = new PalletLocation(); Pallet p = new Pallet(); ReceiveDoc rdoc = new ReceiveDoc(); ReceivePallet rp = new ReceivePallet(); int printNubmer = InternalTransfer.GetNewPrintNumber() + 1; for (int i = 0; i < gridView3.RowCount; i++) { DataRow dr = gridView3.GetDataRow(i); if (dr["Adjust"] != DBNull.Value) { int amount = Convert.ToInt32(dr["Adjust"]); rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); rdoc.NoOfPack += amount; amount *= rdoc.QtyPerPack; rp.Balance += amount; if (rp.IsColumnNull("ReceivedQuantity")) { rp.ReceivedQuantity = 0; } rp.ReceivedQuantity += amount; rdoc.QuantityLeft += amount; rdoc.Quantity += amount; BLL.LossAndAdjustment d = new BLL.LossAndAdjustment(); d.AddNew(); d.GenerateRefNo(); d.ItemID = Convert.ToInt32(dr["ItemID"]); d.ReasonId = Convert.ToInt32(dr["Reason"]); d.RecID = rdoc.ID; d.Quantity = amount; d.BatchNo = rdoc.BatchNo; CalendarLib.DateTimePickerEx edate = new CalendarLib.DateTimePickerEx(); edate.Value = DateTime.Today; edate.CustomFormat = "MM/dd/yyyy"; d.Date = ConvertDate.DateConverter(edate.Text); d.EurDate = DateTime.Today; if (!rdoc.IsColumnNull("Cost")) { d.Cost = Math.Abs(rdoc.Cost * amount); } d.StoreId = rdoc.StoreID; d.Losses = false; d.ApprovedBy = CurrentContext.UserId.ToString(); d.Save(); rdoc.Save(); rp.Save(); } } PopulateItemDetails(); XtraMessageBox.Show("Items adjusted successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void btnAdjustments_Click(object sender, EventArgs e) { if (ValidateMoveToAdjustments()) { if (DialogResult.Yes == XtraMessageBox.Show("Are you sure you would like to commit this adjustment?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { PalletLocation pl = new PalletLocation(); Pallet p = new Pallet(); ReceiveDoc rdoc = new ReceiveDoc(); ReceivePallet rp = new ReceivePallet(); int printNubmer = InternalTransfer.GetNewPrintNumber() + 1 ; for (int i = 0; i < gridView3.RowCount; i++) { DataRow dr = gridView3.GetDataRow(i); if (dr["Adjust"] != DBNull.Value) { int amount = Convert.ToInt32(dr["Adjust"]); rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); rdoc.NoOfPack += amount; amount *= rdoc.QtyPerPack; rp.Balance += amount; if (rp.IsColumnNull("ReceivedQuantity")) { rp.ReceivedQuantity = 0; } rp.ReceivedQuantity += amount; rdoc.QuantityLeft += amount; rdoc.Quantity += amount; BLL.LossAndAdjustment d = new BLL.LossAndAdjustment(); d.AddNew(); d.GenerateRefNo(); d.ItemID = Convert.ToInt32(dr["ItemID"]); d.ReasonId = Convert.ToInt32(dr["Reason"]); d.RecID = rdoc.ID; d.Quantity = amount; d.BatchNo = rdoc.BatchNo; CalendarLib.DateTimePickerEx edate = new CalendarLib.DateTimePickerEx(); edate.Value = DateTime.Today; edate.CustomFormat = "MM/dd/yyyy"; d.Date = ConvertDate.DateConverter(edate.Text); d.EurDate = DateTime.Today; if (!rdoc.IsColumnNull("Cost")) { d.Cost = Math.Abs(rdoc.Cost*amount); } d.StoreId = rdoc.StoreID; d.Losses = false; d.ApprovedBy = CurrentContext.UserId.ToString(); d.Save(); rdoc.Save(); rp.Save(); } } PopulateItemDetails(); XtraMessageBox.Show("Items adjusted successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void btnCommit_Click(object sender, EventArgs e) { if (ValidateQuarantine()) { MyGeneration.dOOdads.TransactionMgr transaction = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); transaction.BeginTransaction(); if (DialogResult.Yes == XtraMessageBox.Show("Are you sure you want to commit the Loss and Adjustment on this screen?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { // do the actual commit here. int printNubmer = InternalTransfer.GetNewPrintNumber() + 1; PalletLocation pl = new PalletLocation(); Pallet p = new Pallet(); ReceiveDoc rdoc = new ReceiveDoc(); ReceivePallet rp = new ReceivePallet(); for (int i = 0; i < gridView1.RowCount; i++) { DataRow dr = gridView1.GetDataRow(i); Double writeoff = 0; Double reLocate = 0; try { if (dr["WriteOff"] != DBNull.Value) { writeoff = Double.Parse(dr["WriteOff"].ToString()); } if (dr["ReLocate"] != DBNull.Value) { reLocate = Double.Parse(dr["ReLocate"].ToString()); } } catch (Exception exc) { } if(dr["WriteOff"] != DBNull.Value & writeoff>0) { if (Double.Parse(dr["WriteOff"].ToString()) > Double.Parse(dr["Balance"].ToString())) { XtraMessageBox.Show("Couldn't commit to the numbers you specified. Please specify number less than the balance.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int writeoffAmout = Convert.ToInt32(dr["WriteOff"]); int qtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); writeoffAmout *= qtyPerPack; rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); string x = dr["NewPalletLocation"].ToString(); rp.Balance -= writeoffAmout; try { // rp.ReceivedQuantity -= writeoffAmout; } catch { } rdoc.QuantityLeft -= writeoffAmout; ReceivePallet nrp =new ReceivePallet(); nrp.AddNew(); nrp.ReceiveID = rp.ReceiveID; nrp.PalletID = pl.GetpalletidbyPalletLocationOrgetnew(int.Parse(dr["NewPalletLocation"].ToString())); //nrp.ReceivedQuantity = rp.ReceivedQuantity; nrp.Balance = writeoffAmout; nrp.ReservedStock = 0; //nrp.ReserveOrderID = rp.ReserveOrderID; nrp.BoxSize = rp.BoxSize; nrp.PalletLocationID = int.Parse(dr["NewPalletLocation"].ToString()); nrp.IsOriginalReceive = rp.IsOriginalReceive; BLL.LossAndAdjustment d = new BLL.LossAndAdjustment(); d.AddNew(); d.GenerateRefNo(); d.ItemID = Convert.ToInt32(dr["ItemID"]); d.ReasonId = Convert.ToInt32(dr["Reason"]); d.RecID = rdoc.ID; d.Quantity = writeoffAmout; d.BatchNo = rdoc.BatchNo; CalendarLib.DateTimePickerEx edate = new CalendarLib.DateTimePickerEx(); edate.Value = DateTime.Today; //TODO: fix to an ethiopian date here edate.CustomFormat = "MM/dd/yyyy"; d.Date = ConvertDate.DateConverter(edate.Text); d.EurDate = DateTime.Today; d.Cost = rdoc.IsColumnNull("Cost")? 0: Math.Abs(rdoc.Cost * writeoffAmout); d.StoreId = rdoc.StoreID; d.Losses = true; //todo: d.ApprovedBy = CurrentContext.UserId.ToString(); //d.Remarks InternalTransfer it =new InternalTransfer(); it.AddNew(); it.ItemID = d.ItemID; it.FromPalletLocationID = pl.GetPalletLocationIDByPalletID(int.Parse(dr["PalletID"].ToString())); it.ToPalletLocationID = nrp.PalletLocationID; it.BatchNumber = d.BatchNo; if (!rdoc.IsColumnNull("ExpDate")) { it.ExpireDate = rdoc.ExpDate; } it.ReceiveDocID = rdoc.ID; it.ManufacturerID = rdoc.ManufacturerId; it.QtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); it.Packs = rdoc.NoOfPack; it.QuantityInBU = nrp.Balance; LossAndAdjustmentReason r = new LossAndAdjustmentReason(); it.Type = r.GetReasonByID(d.ReasonId); // d.Save(); rdoc.Save(); rp.Save(); rdoc.QuantityLeft += writeoffAmout; rdoc.Save(); nrp.Save(); it.Save(); int xs = it.ID; } else if (dr["ReLocate"] != DBNull.Value & reLocate > 0) { if (dr["ReLocate"] != DBNull.Value) { int amount = Convert.ToInt32(dr["ReLocate"]); int qtyPerPack = Convert.ToInt32(dr["QtyPerPack"]); amount *= qtyPerPack; rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rdoc.LoadByPrimaryKey(rp.ReceiveID); int palletLocationID = Convert.ToInt32(dr["PalletLocationID"]); int qPalletLocationID = PalletLocation.GetQuaranteenPalletLocationByPalletLocationID(palletLocationID);//PalletLocation.GetQuaranteenPalletLocation(Convert.ToInt32(dr["ID"])); pl.LoadByPrimaryKey(qPalletLocationID); ReceivePallet rp2 = new ReceivePallet(); ReceiveDoc rd = new ReceiveDoc(); Pallet pallet = new Pallet(); rp.LoadByPrimaryKey(Convert.ToInt32(dr["ReceivePalletID"])); rd.LoadByPrimaryKey(rp.ReceiveID); pallet.AddNew(); Item item = new Item(); item.LoadByPrimaryKey(rdoc.ItemID); if (item.StorageTypeID.ToString() == StorageType.BulkStore) { pallet.PalletNo = Pallet.GetLastPanelNumber(); } pallet.Save(); rp2.AddNew(); rp2.PalletID = pl.GetpalletidbyPalletLocationOrgetnew(int.Parse(dr["NewPalletLocation"].ToString()));//pallet.ID; rp2.ReceiveID = rp.ReceiveID; rp2.IsOriginalReceive = rp.IsOriginalReceive; // calculate the new balance BLL.ItemManufacturer im = new BLL.ItemManufacturer(); //im.LoadDefaultReceiving(rd.ItemID, Convert.ToInt32(dr["ManufacturerID"])); //im.LoadIMbyLevel(rd.ItemID, Convert.ToInt32(dr["ManufacturerID"]), Convert.ToInt32(dr["BoxLevel"])); //int packqty = (amount / im.QuantityInBasicUnit); rd.QuantityLeft -= amount; rp.Balance -= amount; rd.Save(); rp.Save(); rd.QuantityLeft += amount; rp2.Balance = amount;//packqty * im.QuantityInBasicUnit; rd.Save(); rp2.BoxSize = rp.BoxSize; rp2.ReservedStock = 0; rp2.PalletLocationID= int.Parse(dr["NewPalletLocation"].ToString()); rp2.Save(); pl.Confirmed = false; pl.Save(); // select the new pallet location here. /* XtraForm xdb = new XtraForm(); xdb.Controls.Add(panelControl2); Item itms= new Item(); itms.GetItemByPrimaryKey(Convert.ToInt32(dr["ItemID"])); lblItemName.Text = itms.FullItemName; panelControl2.Visible = true; panelControl2.Dock = DockStyle.Fill; xdb.Text = "Select Location for relocated Item"; lkLocation.Properties.DataSource = PalletLocation.GetAllFreeFor(Convert.ToInt32(dr["ItemID"])); xdb.ShowDialog(); PalletLocation pl2 = new PalletLocation(); pl2.LoadByPrimaryKey(Convert.ToInt32(lkLocation.EditValue)); pl2.PalletID = pallet.ID; pl2.Confirmed = false; pl2.Save(); */ InternalTransfer it = new InternalTransfer(); it.AddNew(); it.ItemID = rd.ItemID; it.BoxLevel = 0;// im.PackageLevel; //it.ExpireDate = rd.ExpDate; if (!rd.IsColumnNull("ExpDate")) { it.ExpireDate = rd.ExpDate; } it.BatchNumber = rd.BatchNo; it.ManufacturerID = Convert.ToInt32(dr["ManufacturerID"]);//im.ManufacturerID; it.FromPalletLocationID = qPalletLocationID; it.ToPalletLocationID = int.Parse(dr["NewPalletLocation"].ToString()); //pl2.ID; it.QtyPerPack = 1; //it.Packs = pack qty; it.ReceiveDocID = rp.ReceiveID; it.QuantityInBU = amount;// it.QtyPerPack; it.Type = "ReLocation"; it.IssuedDate = DateTime.Today; it.Status = 0; it.PrintNumber = printNubmer; it.Save(); } } } transaction.CommitTransaction(); BindQuarantine(); XtraMessageBox.Show("Quarantine Write off/Adjustment was commitd.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }