public LayawayVO(SaleVO saleVO) { try { foreach (PropertyInfo pi in typeof(SaleVO).GetProperties()) { GetType().GetProperty(pi.Name).SetValue (this, pi.GetValue(saleVO, null), null); } } catch (Exception ex) { FileLogger.Instance.logMessage(LogLevel.ERROR, null, ex.Message); } }
void workerLoadRetail_DoWork(object sender, DoWorkEventArgs e) { string errorCode; string errorText; CustomerVO customerObj = null; SaleVO saleObj = null; int ticketNumber = (int)e.Argument; RetailProcedures.GetSaleData(GlobalDataAccessor.Instance.DesktopSession, GlobalDataAccessor.Instance.OracleDA, Utilities.GetIntegerValue(CDS.CurrentSiteId.StoreNumber, 0), ticketNumber, "3", StateStatus.BLNK, "SALE", true, out saleObj, out customerObj, out errorCode, out errorText); Action <string> actionShowMessageBox = s => MessageBox.Show(s); Action <Control> setFocus = c => c.Focus(); if (saleObj == null || saleObj.RetailItems.Count == 0) { this.Invoke(actionShowMessageBox, new object[] { "No records found or not the originating shop of the number entered." }); this.Invoke(setFocus, new object[] { txtReceiptNumber }); e.Result = false; return; } else { int maxDaysForRefundEligibility = new BusinessRulesProcedures(GlobalDataAccessor.Instance.DesktopSession).GetMaxDaysForRefundEligibility(CDS.CurrentSiteId); if (ShopDateTime.Instance.FullShopDateTime.Date > saleObj.DateMade.AddDays(maxDaysForRefundEligibility)) { this.Invoke(actionShowMessageBox, new object[] { "The number of days eligible for refund has expired for the MSR number entered." }); this.Invoke(setFocus, new object[] { txtReceiptNumber }); e.Result = false; return; } this.Invoke(new Action(() => { GlobalDataAccessor.Instance.DesktopSession.Sales = new List <SaleVO>(); GlobalDataAccessor.Instance.DesktopSession.Sales.Add(saleObj); GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer = customerObj; })); } }
public VoidSale_dialog(SaleVO saleData) { InitializeComponent(); saleDataToShow = saleData; LoadSaleData(); }
private void VoidPurchaseReturn_Load(object sender, EventArgs e) { labelMessage.Text = ""; if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Trigger.Equals(Commons.TriggerTypes.VOIDBUYRETURN, StringComparison.OrdinalIgnoreCase)) { voidReturnFlow = true; } else if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Trigger.Equals(Commons.TriggerTypes.VOIDSALE, StringComparison.Ordinal)) { voidSaleFlow = true; } else if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Trigger.Equals(Commons.TriggerTypes.VOIDBUY, StringComparison.OrdinalIgnoreCase)) { voidBuyFlow = true; } else if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Trigger.Equals(Commons.TriggerTypes.VOIDREFUND, StringComparison.OrdinalIgnoreCase)) { voidSaleRefundFlow = true; } else if (GlobalDataAccessor.Instance.DesktopSession.HistorySession.Trigger.Equals(Commons.TriggerTypes.VOIDLAYAWAY, StringComparison.OrdinalIgnoreCase)) { voidLayawayFlow = true; } if (voidReturnFlow) { labelHeading.Text = "Void Return"; labelTransactionNoHeading.Text = "Return Number"; } else if (voidBuyFlow) { labelHeading.Text = "Void Buy"; labelTransactionNoHeading.Text = "Buy Number"; //BZ # 619 comboBoxReason.Items.Clear(); comboBoxReason.Items.Add("Wrong Payment Method"); comboBoxReason.Items.Add("PFI'd In Error"); comboBoxReason.Items.Add("Wrong Customer"); comboBoxReason.Items.Add("Incorrect Transaction Detail"); comboBoxReason.Items.Add("Test Transaction"); comboBoxReason.Items.Add("System Issue"); } else if (voidSaleFlow) { labelHeading.Text = "Void Sale"; labelTransactionNoHeading.Text = "MSR #"; this.dataGridViewMdse.Columns[1].HeaderText = "Amount"; comboBoxReason.Items.Clear(); comboBoxReason.Items.Add("Wrong Payment Method"); comboBoxReason.Items.Add("Wrong Customer"); comboBoxReason.Items.Add("Wrong ICN"); comboBoxReason.Items.Add("Customer Changed Mind"); comboBoxReason.Items.Add("Test Transaction"); comboBoxReason.Items.Add("System Issue"); } else if (voidSaleRefundFlow) { labelHeading.Text = "Void Sale Refund"; labelTransactionNoHeading.Text = "MSR Refund #"; } else if (voidLayawayFlow) { labelHeading.Text = "Void Layaway"; labelTransactionNoHeading.Text = "Layaway #"; } maxVoidDays = 0L; if (!new BusinessRulesProcedures(GlobalDataAccessor.Instance.DesktopSession).GetMaxVoidDays(GlobalDataAccessor.Instance.CurrentSiteId, out maxVoidDays)) { if (FileLogger.Instance.IsLogError) { FileLogger.Instance.logMessage(LogLevel.ERROR, this, "Cannot retrieve maximum void days. Defaulting to {0}", maxVoidDays); } } currentPurchase = GlobalDataAccessor.Instance.DesktopSession.ActivePurchase; currentSale = GlobalDataAccessor.Instance.DesktopSession.ActiveRetail; if (currentPurchase != null) { if (currentPurchase.EntityType == "V") { voidVendorBuy = true; } labelDate.Text = currentPurchase.MadeTime.ToString(); labelTransactionNo.Text = currentPurchase.TicketNumber.ToString(); labelUserID.Text = currentPurchase.CreatedBy.ToString(); labelTotal.Text = currentPurchase.Amount.ToString("c"); if (currentPurchase.DateMade.AddDays(maxVoidDays) < ShopDateTime.Instance.ShopDate) { labelMessage.Text = INVALIDVOIDMESSAGE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } /* if (voidBuyFlow && (currentPurchase.CustomerNumber == null || * currentPurchase.EntityType == "V")) * { * labelMessage.Text = NOTCUSTOMERPURCHASE; * labelMessage.Visible = true; * customButtonVoid.Enabled = false; * } * if (voidVendorBuy && currentPurchase.EntityType != "V") * { * labelMessage.Text = NOTVENDORPURCHASE; * labelMessage.Visible = true; * customButtonVoid.Enabled = false; * * }*/ //if we are voiding vendor buy make sure that the items are not sold or on layaway if (voidBuyFlow) { var itemData = (from item in currentPurchase.Items where item.ItemStatus == ProductStatus.SOLD || item.ItemStatus == ProductStatus.LAY select item).FirstOrDefault(); if (itemData != null) { labelMessage.Text = RETAILITEMS; labelMessage.Visible = true; customButtonVoid.Enabled = false; } } if (!voidReturnFlow) { var itemData = (from item in currentPurchase.Items where item.ItemStatus == ProductStatus.RET select item).FirstOrDefault(); if (itemData != null) { labelMessage.Text = RETURNEDPURCHASE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } var itemRTCData = (from item in currentPurchase.Items where item.ItemStatus == ProductStatus.RTC || item.ItemStatus == ProductStatus.PS select item).FirstOrDefault(); if (itemRTCData != null) { labelMessage.Text = RTCITEMS; labelMessage.Visible = true; customButtonVoid.Enabled = false; } } if (currentPurchase.Items != null && currentPurchase.Items.Count > 0) { dataGridViewMdse.AutoGenerateColumns = false; this.dataGridViewMdse.Columns[1].DefaultCellStyle.Format = "c"; foreach (Item item in currentPurchase.Items) { DataGridViewRow row = dataGridViewMdse.Rows.AddNew(); row.Cells[mdseDesc.Index].Value = item.TicketDescription; row.Cells[cost.Index].Value = item.ItemAmount; } } else { MessageBox.Show("Error in void transaction processing"); FileLogger.Instance.logMessage(LogLevel.ERROR, this, "No items found for purchase " + currentPurchase.TicketNumber + " to void."); Close(); } } else if (currentSale != null) { labelDate.Text = currentSale.MadeTime.ToString(); labelTransactionNo.Text = currentSale.TicketNumber.ToString(); labelUserID.Text = currentSale.CreatedBy.ToString(); labelTotal.Text = currentSale.Amount.ToString("c"); if (Utilities.GetDateTimeValue(currentSale.MadeTime.ToShortDateString()).AddDays(maxVoidDays) < ShopDateTime.Instance.ShopDate) { labelMessage.Text = INVALIDVOIDSALEMESSAGE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } string rcptId = (from receipt in currentSale.Receipts where (receipt.Event == ReceiptEventTypes.SALE.ToString() && receipt.RefNumber == currentSale.TicketNumber.ToString()) select receipt).First().ReceiptDetailNumber; Common.Libraries.Utility.Shared.Receipt selectedReceipt = currentSale.Receipts.Find(r => r.ReceiptDetailNumber == rcptId); if (selectedReceipt.CreatedBy == "CONV" || currentSale.CreatedBy == "CONV") { labelMessage.Text = INVALIDCONVERSIONVOIDSALEMESSAGE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } if (voidSaleFlow) { var itemData = (from item in currentSale.RetailItems where item.DispDoc != currentSale.TicketNumber select item).FirstOrDefault(); if (itemData != null) { labelMessage.Text = RETURNEDSALE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } //SR 12/08/2011 Added the logic below to not allow void of cacc sales that //were refunded var itemCaccData = (from item in currentSale.RetailItems where item.mDocType == "5" && item.Quantity != item.RefundQuantity select item).FirstOrDefault(); if (itemCaccData != null) { labelMessage.Text = RETURNEDSALE; labelMessage.Visible = true; customButtonVoid.Enabled = false; } } if (currentSale.RetailItems != null && currentSale.RetailItems.Count > 0) { dataGridViewMdse.AutoGenerateColumns = false; this.dataGridViewMdse.Columns[1].DefaultCellStyle.Format = "c"; foreach (RetailItem item in currentSale.RetailItems) { DataGridViewRow row = dataGridViewMdse.Rows.AddNew(); row.Cells[mdseDesc.Index].Value = item.TicketDescription; row.Cells[cost.Index].Value = item.RetailPrice * item.Quantity; } } else { MessageBox.Show("Error in void transaction processing"); FileLogger.Instance.logMessage(LogLevel.ERROR, this, "No items found for the transaction " + currentSale.TicketNumber + " to void."); Close(); } } }
public SaleRefund_Dialog(SaleVO saleData) { InitializeComponent(); saleDataToShow = saleData; LoadSaleData(); }
private void customButtonOK_Click(object sender, EventArgs e) { labelErrorMessage.Visible = false; noDataFound = false; PurchaseVO purchaseObj = null; CustomerVO customerObj = null; SaleVO saleObj = null; LayawayVO layawayObj = null; CashTransferVO bankTransferObj = null; CashTransferVO shopCashTransferObj = null; DataSet mdseInfo = null; string errorCode; string errorText; getCustomerInfo = true; string tenderType; GlobalDataAccessor.Instance.DesktopSession.Purchases = new List <PurchaseVO>(); GlobalDataAccessor.Instance.DesktopSession.Sales = new List <SaleVO>(); GlobalDataAccessor.Instance.DesktopSession.Layaways = new List <LayawayVO>(); ReleaseFingerprintsInfo releaseFingerprintsequest = null; bool retValue = false; if (voidBuyReturn) { retValue = PurchaseProcedures.GetPurchaseData(Utilities.GetIntegerValue(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, 0), Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), "2", StateStatus.BLNK, "RET", true, out purchaseObj, out customerObj, out tenderType, out errorCode, out errorText); } else if (voidBuy) { retValue = PurchaseProcedures.GetPurchaseData(Utilities.GetIntegerValue(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, 0), Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), "2", StateStatus.BLNK, "", true, out purchaseObj, out customerObj, out tenderType, out errorCode, out errorText); } else if (voidSale) { retValue = RetailProcedures.GetSaleData(GlobalDataAccessor.Instance.DesktopSession, GlobalDataAccessor.Instance.OracleDA, Utilities.GetIntegerValue(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, 0), Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), "3", StateStatus.BLNK, "SALE", false, out saleObj, out customerObj, out errorCode, out errorText); } else if (voidLayaway) { retValue = RetailProcedures.GetLayawayData(GlobalDataAccessor.Instance.DesktopSession, GlobalDataAccessor.Instance.OracleDA, Utilities.GetIntegerValue(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, 0), Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), "4", StateStatus.BLNK, "ALL", false, out layawayObj, out customerObj, out errorCode, out errorText); } else if (voidSaleRefund) { retValue = RetailProcedures.GetSaleData(GlobalDataAccessor.Instance.DesktopSession, GlobalDataAccessor.Instance.OracleDA, Utilities.GetIntegerValue(GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, 0), Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), "3", StateStatus.BLNK, "REFUND", false, out saleObj, out customerObj, out errorCode, out errorText); } //BZ # 419 else if (voidBanktoShopCashTransfer) { retValue = ShopCashProcedures.GetBankTransferDetails(customTextBoxTranNo.Text, "BANKTOSHOP", GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, GlobalDataAccessor.Instance.DesktopSession, out bankTransferObj, out errorCode, out errorText); } else if (voidShopToBankCashTransfer) { retValue = ShopCashProcedures.GetBankTransferDetails(customTextBoxTranNo.Text, "SHOPTOBANK", GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber, GlobalDataAccessor.Instance.DesktopSession, out bankTransferObj, out errorCode, out errorText); }//BZ # 419 end else if (voidStoreCashTransfer) { string storeNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; retValue = ShopCashProcedures.GetShopCashTransferData(customTextBoxTranNo.Text, "", storeNumber, GlobalDataAccessor.Instance.DesktopSession, out shopCashTransferObj, out errorCode, out errorText); } else if (voidMerchandiseTransfer) { string storeNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; string tranNo = customTextBoxTranNo.Text; if (customTextBoxTranNo.Text.Length > 6) { tranNo = tranNo.Substring(5); } retValue = VoidProcedures.getTransferToVoid(Utilities.GetIntegerValue(tranNo, 0), storeNumber, out mdseInfo, out errorCode, out errorText); // retValue = VoidProcedures.GetEligibleToScrapItems(Utilities.GetIntegerValue(customTextBoxTranNo.Text, 0), // storeNumber, out mdse , out errorCode, out errorText); } else if (voidReleaseFingerprints) { string storeNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; string tranNo = customTextBoxTranNo.Text; if (tranNo.Length > 6) { tranNo = tranNo.Substring(5); } // Add procedure to VoidsProcedurees to Locate the Release Fingerprint Authorization GlobalDataAccessor.Instance.FingerPrintRelaseAuthorizationInfo = HoldsProcedures.GetReleaseFingerprintAuthorization(tranNo, storeNumber, out errorCode, out errorText); } if (voidBuy || voidBuyReturn) { if (retValue && purchaseObj != null) { GlobalDataAccessor.Instance.DesktopSession.Purchases.Add(purchaseObj); if (purchaseObj.EntityType != "V" && customerObj != null) { GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer = customerObj; } GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } else { noDataFound = true; } } else if (voidSale || voidSaleRefund) { if (retValue && saleObj != null) { if (saleObj.RefType == "4") { MessageBox.Show("This sale originated from a layaway. You have to void the last layaway payment and not the sale"); return; } GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer = customerObj; GlobalDataAccessor.Instance.DesktopSession.Sales.Add(saleObj); GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } else { noDataFound = true; } } else if (voidLayaway) { if (retValue && layawayObj != null) { GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer = customerObj; GlobalDataAccessor.Instance.DesktopSession.Layaways.Add(layawayObj); GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } else { noDataFound = true; } } //BZ # 419 //else if (voidCashTransfer) else if (voidBanktoShopCashTransfer || voidShopToBankCashTransfer) { //BZ # 419 end if (retValue && bankTransferObj != null) { GlobalDataAccessor.Instance.DesktopSession.CashTransferData = bankTransferObj; GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } else { noDataFound = true; } } else if (voidStoreCashTransfer) { if (retValue && shopCashTransferObj != null) { GlobalDataAccessor.Instance.DesktopSession.CashTransferData = shopCashTransferObj; GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } else { noDataFound = true; } } else if (voidMerchandiseTransfer) { if (retValue && mdseInfo != null && mdseInfo.Tables.Count > 0) { if (isFaultyTransferINOUT(mdseInfo)) { noDataFound = true; } else { GlobalDataAccessor.Instance.DesktopSession.MdseTransferData = mdseInfo; GlobalDataAccessor.Instance.DesktopSession.SelectedTransferNumber = customTextBoxTranNo.Text; GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } } else { noDataFound = true; } } else if (voidReleaseFingerprints && GlobalDataAccessor.Instance.FingerPrintRelaseAuthorizationInfo != null) { this.DialogResult = DialogResult.OK; //GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); } if (noDataFound) { labelErrorMessage.Text = "The number entered is not valid. Please enter another number"; labelErrorMessage.Visible = true; return; } }