/// <summary> /// Tender summary mapper /// </summary> /// <param name="updatedTenders"></param> /// <param name="issueStoreCreditMessage"></param> /// <param name="selectedTenders"></param> /// <returns></returns> public static TenderSummaryModel GetTenderSummaryModel(Tenders updatedTenders, string issueStoreCreditMessage, IEnumerable <Tender> selectedTenders) { var tenderSummary = new TenderSummaryModel { Summary1 = updatedTenders.Summary1, Summary2 = updatedTenders.Summary2, OutstandingAmount = Math.Round(Convert.ToDouble(updatedTenders.Tend_Totals.Change), 2) > 0.0D ? updatedTenders.Tend_Totals.Change.ToString(Constants.ChangeFormat) : 0.ToString(Constants.ChangeFormat), EnableCompletePayment = updatedTenders.EnableCompletePayment, DisplayNoReceiptButton = updatedTenders.DisplayNoReceiptButton, IssueStoreCreditMessage = issueStoreCreditMessage, EnableRunAway = updatedTenders.EnableRunAway, EnablePumpTest = updatedTenders.EnablePumpTest, Tenders = (from tender in selectedTenders select new TenderResponseModel { TenderCode = tender.Tender_Code, TenderName = tender.Tender_Name, TenderClass = tender.Tender_Class, AmountEntered = tender.Amount_Entered == 0 ? "" : tender.Amount_Entered.ToString(Constants.CurrencyFormat), AmountValue = tender.Amount_Used == 0 ? "" : tender.Amount_Used.ToString(Constants.CurrencyFormat), IsEnabled = string.IsNullOrEmpty(tender.Credit_Card.Cardnumber), MaximumValue = tender.MaxAmount, MinimumValue = tender.MinAmount, Image = tender.Image }).ToList(), CustomerDisplay = updatedTenders.CustomerDisplay }; return(tenderSummary); }
/// <summary> /// method to return the WEX reciept /// </summary> /// <param name="width"></param> /// <param name="sale"></param> /// <param name="tenders"></param> /// <returns></returns> public string GetWexRecieptString(ref short width, Sale sale, ref Tenders tenders) { if (modTPS.cc != null) { return(CreateWexReciept(width, modTPS.cc.Name, (sale.Sale_Num).ToString(), modTPS.cc.TerminalID, modTPS.cc.Cardnumber, modTPS.cc.Sequence_Number, modTPS.cc.ApprovalCode, tenders)); } return(""); }
public override int GetHashCode() { int hashCode = 226628405; if (Id != null) { hashCode += Id.GetHashCode(); } if (LocationId != null) { hashCode += LocationId.GetHashCode(); } if (CreatedAt != null) { hashCode += CreatedAt.GetHashCode(); } if (Tenders != null) { hashCode += Tenders.GetHashCode(); } if (Refunds != null) { hashCode += Refunds.GetHashCode(); } if (ReferenceId != null) { hashCode += ReferenceId.GetHashCode(); } if (Product != null) { hashCode += Product.GetHashCode(); } if (ClientId != null) { hashCode += ClientId.GetHashCode(); } if (ShippingAddress != null) { hashCode += ShippingAddress.GetHashCode(); } if (OrderId != null) { hashCode += OrderId.GetHashCode(); } return(hashCode); }
int tendid; // сохраняет id тендера public ReqPage(Tenders sel) { InitializeComponent(); if (sel != null) { tendid = sel.Id; textINN.Text = AuthPage.AuthUser.INN; } this.DataContext = sel; }
/// <summary> /// Method to get cash drop tenders /// </summary> /// <param name="selectedTenders">Selected tenders</param> /// <param name="tenders">All Tenders</param> /// <param name="totals">totals</param> /// <param name="error">Error message</param> /// <returns>Tenders</returns> private Tenders GetCashDropTenders(List <Tender> selectedTenders, Tenders tenders, decimal totals, out ErrorMessage error) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,CashManager,GetCashDropTenders,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); error = new ErrorMessage(); Sale sale = null; var isInvalidTender = false; Tenders cashDropTenders = tenders; foreach (var tender in selectedTenders) { var selectedTender = tenders.FirstOrDefault(t => t.Tender_Code == tender.Tender_Code); if (selectedTender == null) { isInvalidTender = true; break; } tender.MinAmount = selectedTender.MinAmount; tender.MaxAmount = selectedTender.MaxAmount; decimal tenderedAmount = VerifyTenderInformation(tender, tender.Amount_Entered, totals, out error); if (string.IsNullOrEmpty(error.MessageStyle.Message)) { //selectedTender = cashDropTenders.Add(selectedTender.Tender_Name, selectedTender.Tender_Class, selectedTender.Exchange_Rate, // selectedTender.Give_Change, selectedTender.Give_As_Refund, selectedTender.System_Can_Adjust, // selectedTender.Sequence_Number, selectedTender.Tender_Code, selectedTender.Exact_Change, // selectedTender.MaxAmount, selectedTender.MinAmount, selectedTender.Smallest_Unit, // selectedTender.Open_Drawer, Convert.ToDouble(tenderedAmount), selectedTender.PrintCopies, // selectedTender.AcceptAspayment, selectedTender.SignatureLine,selectedTender.Image, selectedTender.Tender_Code); _tenderManager.Set_Amount_Entered(ref cashDropTenders, ref sale, selectedTender, tenderedAmount, -1); } else { return(null); } } if (isInvalidTender) { error.MessageStyle = new MessageStyle { Message = "Invalid Tender" }; error.StatusCode = System.Net.HttpStatusCode.BadRequest; return(null); } _performancelog.Debug($"End,CashManager,GetCashDropTenders,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(cashDropTenders); }
/// <summary> /// Method to get tender summary /// </summary> /// <param name="updatedTenders">Updated summary</param> /// <returns>Tender summary model</returns> private TenderSummaryModel GetTenderSummary(Tenders updatedTenders) { var selectedTenders = updatedTenders.Where(t => t.Amount_Entered != 0); string issueStoreCreditMessage = string.Empty; if (updatedTenders.EnableCompletePayment) { issueStoreCreditMessage = _tenderManager.IssueStoreCredit(updatedTenders); } var tenderSummary = TenderMapper.GetTenderSummaryModel(updatedTenders, issueStoreCreditMessage, selectedTenders); return(tenderSummary); }
public ActionResult updateTender(Tenders t) { try { using (DbtenderEntities1 DB = new DbtenderEntities1()) { var tender = DB.Tenders.Find(Convert.ToInt32(t.numTender)); tender.status = "סגור"; tender.winner = t.winner; tender.till = t.till; DB.SaveChanges(); } } catch (Exception) { } return(View()); }
public JsonResult save(Tenders Tenders) { bool status = false; DateTime dateOrgF; DateTime dateOrgT; var isValidDateFrom = DateTime.TryParseExact(Tenders.from.ToString(), "mm-dd-yyyy", null, System.Globalization.DateTimeStyles.None, out dateOrgF); if (isValidDateFrom) { Tenders.from = dateOrgF; } var isValidDateTill = DateTime.TryParseExact(Tenders.till.ToString(), "mm-dd-yyyy", null, System.Globalization.DateTimeStyles.None, out dateOrgT); if (isValidDateTill) { Tenders.from = dateOrgT; } var isValidModel = TryUpdateModel(Tenders); if (isValidModel) { using (DbtenderEntities1 DB = new DbtenderEntities1()) { //foreach (var item in Tenders.ProducToTender) //{ // DB.ProducToTender.Add(item); //} //DB.SaveChanges(); DB.Tenders.Add(Tenders); try { DB.SaveChanges(); } catch (Exception) { } status = true; } } return(new JsonResult { Data = new { status = status } }); }
/// <summary> /// Method to add all drop lines /// </summary> /// <param name="till">Till</param> /// <param name="bt">Base currency</param> /// <param name="dropDate">Drop date</param> /// <param name="cashDropTenders">Cash drop tenders</param> /// <param name="cashDrop">Cash drop</param> private void AddDropLines(Till till, string bt, DateTime dropDate, Tenders cashDropTenders, CashDrop cashDrop) { var dateStart = DateTime.Now; _performancelog.Debug($"Start,CashManager,AddDropLines,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); foreach (Tender tempLoopVarT in cashDropTenders) { var T = tempLoopVarT; if (T.Amount_Entered > 0) { var dropLine = new DropLine { TillNumber = till.Number, DropDate = dropDate, TenderName = T.Tender_Name, ExchangeRate = T.Exchange_Rate, Amount = T.Amount_Entered, ConvAmount = T.Amount_Used, DropID = cashDrop.DropID }; _cashService.AddDropLine(dropLine); if (T.Tender_Name.ToUpper() == bt.ToUpper()) { till.Cash = till.Cash - T.Amount_Entered; _tillService.UpdateTill(till); } //Cash bonus out of scope // track the cash bonus //if (Policy_Renamed.Use_CashBonus) //{ // if (T.Tender_Name.ToUpper() == modGlobalFunctions.Get_TenderName(System.Convert.ToString(Policy_Renamed.CBonusTend)).ToUpper()) // { // rs = _dbService.GetRecords("Select * FROM Tills WHERE Tills.Till_Num = " + till.Number + " ", DataSource.CSCMaster, ADODB.CursorTypeEnum.adOpenForwardOnly); // rs.Fields["CashBonus"].Value = rs.Fields["CashBonus"].Value - T.Amount_Entered; // rs.Update(); // rs = null; // } //} //Shiny end } _performancelog.Debug($"End,CashManager,AddDropLines,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); } }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (obj == this) { return(true); } return(obj is Order other && ((Id == null && other.Id == null) || (Id?.Equals(other.Id) == true)) && ((LocationId == null && other.LocationId == null) || (LocationId?.Equals(other.LocationId) == true)) && ((ReferenceId == null && other.ReferenceId == null) || (ReferenceId?.Equals(other.ReferenceId) == true)) && ((Source == null && other.Source == null) || (Source?.Equals(other.Source) == true)) && ((CustomerId == null && other.CustomerId == null) || (CustomerId?.Equals(other.CustomerId) == true)) && ((LineItems == null && other.LineItems == null) || (LineItems?.Equals(other.LineItems) == true)) && ((Taxes == null && other.Taxes == null) || (Taxes?.Equals(other.Taxes) == true)) && ((Discounts == null && other.Discounts == null) || (Discounts?.Equals(other.Discounts) == true)) && ((ServiceCharges == null && other.ServiceCharges == null) || (ServiceCharges?.Equals(other.ServiceCharges) == true)) && ((Fulfillments == null && other.Fulfillments == null) || (Fulfillments?.Equals(other.Fulfillments) == true)) && ((Returns == null && other.Returns == null) || (Returns?.Equals(other.Returns) == true)) && ((ReturnAmounts == null && other.ReturnAmounts == null) || (ReturnAmounts?.Equals(other.ReturnAmounts) == true)) && ((NetAmounts == null && other.NetAmounts == null) || (NetAmounts?.Equals(other.NetAmounts) == true)) && ((RoundingAdjustment == null && other.RoundingAdjustment == null) || (RoundingAdjustment?.Equals(other.RoundingAdjustment) == true)) && ((Tenders == null && other.Tenders == null) || (Tenders?.Equals(other.Tenders) == true)) && ((Refunds == null && other.Refunds == null) || (Refunds?.Equals(other.Refunds) == true)) && ((Metadata == null && other.Metadata == null) || (Metadata?.Equals(other.Metadata) == true)) && ((CreatedAt == null && other.CreatedAt == null) || (CreatedAt?.Equals(other.CreatedAt) == true)) && ((UpdatedAt == null && other.UpdatedAt == null) || (UpdatedAt?.Equals(other.UpdatedAt) == true)) && ((ClosedAt == null && other.ClosedAt == null) || (ClosedAt?.Equals(other.ClosedAt) == true)) && ((State == null && other.State == null) || (State?.Equals(other.State) == true)) && ((Version == null && other.Version == null) || (Version?.Equals(other.Version) == true)) && ((TotalMoney == null && other.TotalMoney == null) || (TotalMoney?.Equals(other.TotalMoney) == true)) && ((TotalTaxMoney == null && other.TotalTaxMoney == null) || (TotalTaxMoney?.Equals(other.TotalTaxMoney) == true)) && ((TotalDiscountMoney == null && other.TotalDiscountMoney == null) || (TotalDiscountMoney?.Equals(other.TotalDiscountMoney) == true)) && ((TotalTipMoney == null && other.TotalTipMoney == null) || (TotalTipMoney?.Equals(other.TotalTipMoney) == true)) && ((TotalServiceChargeMoney == null && other.TotalServiceChargeMoney == null) || (TotalServiceChargeMoney?.Equals(other.TotalServiceChargeMoney) == true)) && ((PricingOptions == null && other.PricingOptions == null) || (PricingOptions?.Equals(other.PricingOptions) == true)) && ((Rewards == null && other.Rewards == null) || (Rewards?.Equals(other.Rewards) == true))); }
/// <summary> /// Method to create update cash drop model /// </summary> /// <param name="updatedTenders">Updated tenders</param> /// <returns>Update cash drop model</returns> private UpdateCashDropResponseModel GetUpdatedTenders(Tenders updatedTenders) { var newTenders = updatedTenders.Where(u => u.Amount_Entered != 0); var response = new UpdateCashDropResponseModel { Tenders = newTenders.Select(tender => new TenderResponseModel { TenderCode = tender.Tender_Code, TenderName = tender.Tender_Name, AmountEntered = tender.Amount_Entered == 0 ? "" : tender.Amount_Entered.ToString(Constants.CurrencyFormat), AmountValue = tender.Amount_Used == 0 ? "" : tender.Amount_Used.ToString(Constants.CurrencyFormat), MaximumValue = tender.MaxAmount, MinimumValue = tender.MinAmount, Image = tender.Image }).ToList(), TenderedAmount = updatedTenders.Tend_Totals.Tend_Used.ToString(Constants.CurrencyFormat) }; return(response); }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (obj == this) { return(true); } return(obj is Transaction other && ((Id == null && other.Id == null) || (Id?.Equals(other.Id) == true)) && ((LocationId == null && other.LocationId == null) || (LocationId?.Equals(other.LocationId) == true)) && ((CreatedAt == null && other.CreatedAt == null) || (CreatedAt?.Equals(other.CreatedAt) == true)) && ((Tenders == null && other.Tenders == null) || (Tenders?.Equals(other.Tenders) == true)) && ((Refunds == null && other.Refunds == null) || (Refunds?.Equals(other.Refunds) == true)) && ((ReferenceId == null && other.ReferenceId == null) || (ReferenceId?.Equals(other.ReferenceId) == true)) && ((Product == null && other.Product == null) || (Product?.Equals(other.Product) == true)) && ((ClientId == null && other.ClientId == null) || (ClientId?.Equals(other.ClientId) == true)) && ((ShippingAddress == null && other.ShippingAddress == null) || (ShippingAddress?.Equals(other.ShippingAddress) == true)) && ((OrderId == null && other.OrderId == null) || (OrderId?.Equals(other.OrderId) == true))); }
public ActionResult saveUpdateTender(Tenders t) { ViewBag.Message = ""; DbtenderEntities1 db = new DbtenderEntities1(); List <Tenders> t1 = db.Tenders.ToList(); foreach (var item in t1) { if (item.numTender == t.numTender) { Tenders t2 = item; t2.name = t.name; t2.numEditor = t.numEditor; t2.numType = t.numType; t2.status = t.status; t2.typeAcquire = t.typeAcquire; t2.codCategory = t.codCategory; t2.from = t.from; t2.till = t.till; t2.hourStart = t.hourStart; t2.hourFinish = t.hourFinish; try { db.SaveChanges(); } catch (Exception) { } break; } } return(View()); }
public static void AddTendersForPayment(int saleNumber, Tenders tenders) { MemCacher.Delete($"TENDERS_{saleNumber}"); MemCacher.Add($"TENDERS_{saleNumber}", tenders, DateTimeOffset.UtcNow.AddHours(1)); }
/// <summary> /// Save Bottle return /// </summary> /// <param name="brPayment">Br payment</param> /// <param name="userCode">User code</param> /// <param name="error">Error message</param> /// <param name="bottleReport">Report</param> /// <param name="openDrawer">Open drawer or not</param> public Sale SaveBottleReturn(BR_Payment brPayment, out ErrorMessage error, out Report bottleReport, out bool openDrawer) { bottleReport = null; openDrawer = false; var dateStart = DateTime.Now; Performancelog.Debug($"Start,BottleManager,SaveBottleReturn,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); error = new ErrorMessage(); var offSet = _policyManager.LoadStoreInfo().OffSet; var userCode = UserCode; var user = _loginManager.GetExistingUser(userCode); var existingSale = _saleService.GetSaleByTillNumber(brPayment.TillNumber); if (existingSale != null && existingSale.Sale_Lines.Count > 0) { error.MessageStyle = new MessageStyle { Message = "Please finish current sale before bottle return.~Bottle Return", MessageType = ExclamationOkMessageType }; error.StatusCode = HttpStatusCode.Conflict; return(null); } if (!_policyManager.GetPol("U_BOTTLERTN", user)) { error.MessageStyle = _resourceManager.CreateMessage(offSet, 38, 57, null, ExclamationOkMessageType); error.StatusCode = HttpStatusCode.Forbidden; return(null); } if (brPayment.Amount != 0) { if (string.IsNullOrEmpty(Convert.ToString(_policyManager.GetPol("BASECURR", null)))) { error.MessageStyle = _resourceManager.CreateMessage(offSet, 18, 61, null, CriticalOkMessageType); error.StatusCode = HttpStatusCode.NotFound; return(null); } if (brPayment.Amount > (decimal)Math.Abs(_policyManager.GetPol("U_BR_LIMIT", user))) { // Exceed the bottle return limit, Please get an authorized user! error.MessageStyle = _resourceManager.CreateMessage(offSet, 18, 62, null, CriticalOkMessageType); error.StatusCode = HttpStatusCode.Forbidden; return(null); } if (_policyManager.OPEN_DRAWER == "Every Sale") { openDrawer = true; } var sale = new Sale { Sale_Totals = { Net = Convert.ToDecimal(brPayment.Amount) } }; var saleTotals = sale.Sale_Totals; _saleManager.SetGross(ref saleTotals, sale.Sale_Totals.Net); sale.Sale_Totals.Gross = saleTotals.Gross; sale.Sale_Totals.TotalLabel = saleTotals.TotalLabel; sale.Sale_Totals.SummaryLabel = saleTotals.SummaryLabel; sale.Register = brPayment.RegisterNumber; sale.Sale_Change = 0; sale.TillNumber = Convert.ToByte(brPayment.TillNumber); sale.Sale_Date = DateTime.Now; sale.Sale_Tender = 0; sale.Sale_Change = 0; sale.Sale_Amount = 0; if (_policyManager.GetPol("Penny_Adj", null) && brPayment.Amount != 0) { sale.Sale_Totals.Penny_Adj = Helper.Calculate_Penny_Adj(Convert.ToDecimal(brPayment.Amount)); } else { sale.Sale_Totals.Penny_Adj = 0; } brPayment.Penny_Adj = sale.Sale_Totals.Penny_Adj; if (existingSale == null) { brPayment.Sale_Num = _saleManager.GetCurrentSaleNo(brPayment.TillNumber, userCode, out error); } var tendBr = new Tenders(); var tender = tendBr.Add(Convert.ToString(_policyManager.GetPol("BASECURR", null)), "Cash", 1, true, true, false, (short)1, Convert.ToString(_policyManager.GetPol("BASECURR", null)), false, 0, 0, 0.01, true, Convert.ToDouble(-brPayment.Amount), (short)1, true, false, "", ""); _tenderManager.Set_Amount_Entered(ref tendBr, ref sale, tender, -brPayment.Amount); sale.Sale_Num = Convert.ToInt32(brPayment.Sale_Num); sale.Sale_Type = "BTL RTN"; var shiftNumber = _tillService.GetTill(brPayment.TillNumber).Shift; bottleReport = _receiptManager.Print_BottleReturn(brPayment, user.Name, DateTime.Today, DateTime.Now, sale.Register, (short)brPayment.TillNumber, shiftNumber); bottleReport.Copies = _policyManager.BottleReturnReceiptCopies; _bottleReturnService.SaveBottleReturnsToDbTrans(brPayment); _saleManager.SaveSale(sale, userCode, ref tendBr, null); CacheManager.DeleteCurrentSaleForTill(sale.TillNumber, sale.Sale_Num); //_saleManager.Clear_Sale(sale.Sale_Num,sale.TillNumber, userCode, "", null, true, false, false, out msg); sale = _saleManager.InitializeSale(brPayment.TillNumber, brPayment.RegisterNumber, userCode, out error); //Update Sale object in Cache CacheManager.AddCurrentSaleForTill(sale.TillNumber, sale.Sale_Num, sale); Performancelog.Debug($"End,BottleManager,SaveBottleReturn,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(sale); } return(null); }
/// <summary> /// Void sale /// </summary> /// <param name="userCode">User code</param> /// <param name="saleNumber">Sale number</param> /// <param name="tillNumber">Till number</param> /// <param name="voidReason">Void reason</param> /// <param name="errorMessage">Error</param> /// <param name="fs">Report content</param> /// <returns>Sale</returns> public Sale VoidSale(string userCode, int saleNumber, int tillNumber, string voidReason, out ErrorMessage errorMessage, out Report fs) { fs = null; var dateStart = DateTime.Now; Performancelog.Debug($"Start,SuspendedSaleManager,VoidSale,{string.Empty},{dateStart:hh.mm.ss.ffffff}"); var sale = _saleManager.GetCurrentSale(saleNumber, tillNumber, 0, userCode, out errorMessage); if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message)) { return(null); } var offSet = _policyManager.LoadStoreInfo().OffSet; //Added for checking delete prepay crash recovery if (sale.DeletePrepay) { //Please complete delete prepay first!~Comlete current transaction. errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 50, null), StatusCode = HttpStatusCode.PreconditionFailed }; return(null); } if (sale.Sale_Lines.Count == 0) { errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 77, null, MessageType.OkOnly), StatusCode = HttpStatusCode.BadRequest }; return(null); } if (CountFuelLines(sale) > 1) // if there are more then 1 line with fuel do not allow to void this sale { errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 82, null, MessageType.OkOnly), StatusCode = HttpStatusCode.BadRequest }; return(null); } //Added, not allow to void sale with prepay line if (_prepayManager.PrepayItemId(ref sale) > 0) { errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 82, null, MessageType.OkOnly), StatusCode = HttpStatusCode.BadRequest }; return(null); } //crash recovery' if there is partial/ full payment donot allow void if (sale.Payment) { errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 14, null, MessageType.OkOnly), StatusCode = HttpStatusCode.BadRequest }; return(null); } //Added to control void GiveX items string lineNumber = string.Empty; if (modGlobalFunctions.HasGivexSale(sale, ref lineNumber)) { errorMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 22, null, CriticalOkMessageType), StatusCode = HttpStatusCode.BadRequest }; return(null); } if (!CanUserVoidSale(userCode, out errorMessage)) { return(null); } //added to print receipt for Void sales if (_policyManager.PRINT_VOID) { sale.Sale_Type = "VOID"; Tenders nullTenders = null; var fileName = string.Empty; var rePrint = false; Stream signature; fs = _receiptManager.Print_Receipt(sale.TillNumber, null, ref sale, ref nullTenders, true, ref fileName, ref rePrint, out signature, userCode); } var newSale = new Sale { Sale_Num = _saleManager.Clear_Sale(sale, sale.Sale_Num, sale.TillNumber, userCode, "VOID", null, true, true, false, out errorMessage) }; CacheManager.DeleteCurrentSaleForTill(sale.TillNumber, sale.Sale_Num); newSale.TillNumber = sale.TillNumber; newSale.Customer = _customerManager.LoadCustomer(string.Empty); newSale.Register = sale.Register; newSale.SaleHead = new SaleHead(); newSale.Payment = false; _saleHeadManager.SetSalePolicies(ref newSale); _saleManager.SaveTemp(ref newSale, newSale.TillNumber); Register register = null; _mainManager.SetRegister(ref register, newSale.Register); if (register.Customer_Display) { newSale.CustomerDisplay = _mainManager.DisplayMsgLcd(register, _mainManager.FormatLcdString(register, _resourceManager.GetResString(offSet, 414) + "#:", Conversion.Str(newSale.Sale_Num).Trim()), ""); } CacheManager.AddCurrentSaleForTill(newSale.TillNumber, newSale.Sale_Num, newSale); Performancelog.Debug($"End,SuspendedSaleManager,VoidSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(newSale); }
/// <summary> /// Return Sale /// </summary> /// <param name="user">User</param> /// <param name="saleNumber">Sale number</param> /// <param name="tillNumber">Till number</param> /// <param name="saleTillNumber"></param> /// <param name="correction">Correction sale or not</param> /// <param name="reasonCode">Reason code</param> /// <param name="message">Error</param> /// <param name="reasonType">Reason type</param> /// <param name="saleLineMessages">Sale line messages</param> /// <param name="report"></param> /// <param name="fileName"></param> /// <returns>Sale</returns> public Sale ReturnSale(User user, int saleNumber, int tillNumber, int saleTillNumber, bool correction, string reasonType, string reasonCode, out ErrorMessage message, out List <ErrorMessage> saleLineMessages, out Report report, out string fileName) { Sale sale = new Sale(); DateTime saleDate = DateTime.Now.AddDays(-Convert.ToInt16(_policyManager.GetPol("RES_DAYS", null))); saleLineMessages = new List <ErrorMessage>(); report = null; fileName = string.Empty; if (!IsUserAbleToReturn(user, out message)) { return(sale); } Sale_Line sl; var blnRecReason = false; bool isReturnable; bool isSaleFound; sale = _returnSaleService.GetSaleBySaleNumber(saleNumber, saleTillNumber, saleDate, _policyManager.TE_Type, _policyManager.TE_GETNAME, _policyManager.TAX_EXEMPT_GA, _policyManager.DefaultCust, _policyManager.DEF_CUST_CODE, out isSaleFound, out isReturnable); var offSet = _policyManager.LoadStoreInfo().OffSet; if (!isSaleFound) { message = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 40, 98, null) }; return(sale); } if (!isReturnable) { message = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 40, 95, saleDate) }; return(sale); } var sal = _saleService.GetSaleByTillNumber(tillNumber);// _saleService.GetSalesFromDbTemp(tillNumber); sale.Sale_Num = sal?.Sale_Num ?? _saleManager.GetCurrentSaleNo(tillNumber, user.Code, out message); sale.TillNumber = (byte)tillNumber; _saleHeadManager.SetSalePolicies(ref sale); var saleLines = _returnSaleService.GetSaleLineBySaleNumber(saleNumber, saleTillNumber, saleDate, sale.Customer.DiscountType, _policyManager.TE_Type, _policyManager.TAX_EXEMPT); //_suspendedSaleService.RemovePreviousTransactionFromDbTemp(tillNumber); foreach (var saleLine in saleLines) { saleLine.PRICE_DEC = CommonUtility.GetShortValue(_policyManager.GetPol("PRICE_DEC", saleLine)); saleLine.QUANT_DEC = CommonUtility.GetShortValue(_policyManager.GetPol("QUANT_DEC", saleLine)); if (_policyManager.GetPol("ACCEPT_RET", saleLine) && saleLine.GiftType != "GiveX") { var newSaleLine = saleLine; newSaleLine.Till_Num = sale.TillNumber; var quantity = saleLine.Quantity; var price = saleLine.price; var amount = saleLine.Amount; var discountRate = saleLine.Discount_Rate; var discountType = saleLine.Discount_Type; ErrorMessage error; _saleLineManager.SetPluCode(ref sale, ref newSaleLine, newSaleLine.PLU_Code, out error); if (newSaleLine.ProductIsFuel && !newSaleLine.IsPropane) { newSaleLine.Regular_Price = Convert.ToDouble(newSaleLine.price); } if (newSaleLine.Gift_Certificate && newSaleLine.GiftType == "LocalGift") { newSaleLine.Description = _resourceManager.GetResString(offSet, 8124) + newSaleLine.Gift_Num; } _saleManager.Add_a_Line(ref sale, newSaleLine, user.Code, sale.TillNumber, out message, adjust: false, tableAdjust: false, forRefund: true); newSaleLine.No_Loading = false; if (newSaleLine.ScalableItem) { newSaleLine.Regular_Price = newSaleLine.price; } _saleLineManager.SetPrice(ref newSaleLine, price); _saleLineManager.SetQuantity(ref newSaleLine, quantity); _saleLineManager.SetAmount(ref newSaleLine, amount); saleLine.Discount_Type = discountType; _saleLineManager.SetDiscountRate(ref newSaleLine, discountRate); newSaleLine.No_Loading = false; // It has to be set back to false, otherwise if the user changes the qty or price in the POS screen after unsuspend, the amount will not be right } else { saleLineMessages.Add(new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 0, 8109, saleLine.Stock_Code + " " + saleLine.Description, CriticalOkMessageType) }); } } _saleManager.Sale_Discount(ref sale, Convert.ToDecimal(sale.Sale_Totals.Invoice_Discount), Convert.ToString(sale.Sale_Totals.Invoice_Discount_Type), false); sale.ForCorrection = correction; // 06/24/05 Nancy added ForCorrection // CL = "" ' code //SaleMain.Default.lblCustName.Text = sale.Customer.Name; foreach (var tempLoopVarSl in saleLines) { sl = tempLoopVarSl; sl.No_Loading = false; } sale.LoadingTemp = false; foreach (var tempLoopVarSl in saleLines) { sl = tempLoopVarSl; if (!_policyManager.GetPol("RET_REASON", sl)) { continue; } blnRecReason = true; break; } if (blnRecReason) { ReasonType rType; Enum.TryParse(reasonType, true, out rType); var returnReason = (char)rType != '\0' ? _reasonService.GetReturnReason(reasonCode, (char)rType) : new Return_Reason { RType = "R" }; foreach (var tempLoopVarSl in saleLines) { sl = tempLoopVarSl; _saleManager.Line_Reason(ref sale, ref sl, returnReason); } } _saleManager.SaveTemp(ref sale, tillNumber); //Update Sale object in Cache sale.ReverseRunaway = sale.Sale_Type == "RUNAWAY" && sale.Sale_Amount > 0; // sale.ReversePumpTest = sale.Sale_Type == "PUMPTEST" && sale.Sale_Amount > 0; // if (sale.ReverseRunaway) { var newLineMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 25, null) }; saleLineMessages.Add(newLineMessage); Tenders nullTenders = null; fileName = Constants.RunAwayFile; var file = "Runaway"; var rePrint = false; Stream signature; sale.Sale_Type = "RUNAWAY"; report = _receiptManager.Print_Receipt(tillNumber, null, ref sale, ref nullTenders, true, ref file, ref rePrint, out signature, user.Code); _saleManager.Clear_Sale(sale, sale.Sale_Num, sale.TillNumber, user.Code, "RUNAWAY", null, false, true, false, out message); ErrorMessage error; sale = _saleManager.InitializeSale(tillNumber, sale.Register, user.Code, out error); } if (sale.ReversePumpTest) { var newLineMessage = new ErrorMessage { MessageStyle = _resourceManager.CreateMessage(offSet, 11, 27, null) }; saleLineMessages.Add(newLineMessage); Tenders nullTenders = null; fileName = Constants.PumpTestFile; var file = "PumpTest"; var rePrint = false; Stream signature; sale.Sale_Type = "PUMPTEST"; report = _receiptManager.Print_Receipt(tillNumber, null, ref sale, ref nullTenders, true, ref file, ref rePrint, out signature, user.Code); _saleManager.Clear_Sale(sale, sale.Sale_Num, sale.TillNumber, user.Code, "PUMPTEST", null, false, true, false, out message); ErrorMessage error; sale = _saleManager.InitializeSale(tillNumber, sale.Register, user.Code, out error); } CacheManager.AddCurrentSaleForTill(sale.TillNumber, sale.Sale_Num, sale); return(sale); }
public SaleSummaryResponse() { SaleSummary = new Dictionary <string, string>(); Tenders = new Tenders(); }
public Payment(Tenders tender) { this.Tender = tender; }
//private void Top_Box() //{ // // mvarTopLeft.Caption = GetResString(278) & " : " & vbCrLf // mvarTopLeft.Text = Chaps_Main.Resource.DisplayCaption((short)278, (short)0, null, (short)0) + " : " + "\r\n"; // mvarTopRight.Text = this.PrepAmount.ToString("###,##0.00") + "\r\n"; //} private void Class_Terminate_Renamed() { mvarTenders = null; mvarCustomer = null; }
/// <summary> /// Method to construct the reciept of wex tranaction /// </summary> /// <param name="width"></param> /// <param name="name"></param> /// <param name="saleNumber"></param> /// <param name="terminalId"></param> /// <param name="cardNumber"></param> /// <param name="sequenceNumber"></param> /// <param name="approvalCode"></param> /// <param name="tenders"></param> /// <returns></returns> private string CreateWexReciept(short width, string name, string saleNumber, string terminalId, string cardNumber, string sequenceNumber, string approvalCode, Tenders tenders) { var wexReciept = ""; var tempStringArray = new string[5]; wexReciept = ""; tempStringArray[0] = terminalId; tempStringArray[1] = PosId.ToString(); tempStringArray[2] = System.Convert.ToString(_encryptDecryptManager.Encrypt(cardNumber, "C")); tempStringArray[3] = sequenceNumber; tempStringArray[4] = approvalCode; wexReciept = wexReciept + "\r\n" + modStringPad.PadR(name, width); if (Strings.Left(System.Convert.ToString(_policyManager.LoadStoreInfo().Language), 1).ToUpper() == "F") { wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Terminal Id: " + tempStringArray[0], width) + "\r\n"; wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Acc#: " + tempStringArray[2], width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("PD Seq#: " + tempStringArray[3], width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Récupération Numéro de référence: " + saleNumber, width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Code d\'autorisation: " + tempStringArray[4], width); wexReciept = wexReciept + "\r\n" + "\r\n" + "\r\n" + modStringPad.PadR(_resourceManager.GetResString(_policyManager.LoadStoreInfo().OffSet, (short)247) + ": ", width, "_"); //Signature wexReciept = wexReciept + "\r\n" + " Le Titulaire versera ce montant a "; wexReciept = wexReciept + "\r\n" + " L\'emetteur conformement au "; wexReciept = wexReciept + "\r\n" + " contrat adherent "; } else { wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Terminal Id: " + tempStringArray[0], width) + "\r\n"; wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Acc#: " + tempStringArray[2], width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("PD Seq#: " + tempStringArray[3], width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Retrieval Reference Number: " + saleNumber, width); wexReciept = wexReciept + "\r\n" + modStringPad.PadR("Approval Code: " + tempStringArray[4], width); wexReciept = wexReciept + "\r\n" + "\r\n" + "\r\n" + modStringPad.PadR(_resourceManager.GetResString(_policyManager.LoadStoreInfo().OffSet, (short)247) + ": ", 40, "_"); //Signature wexReciept = wexReciept + "\r\n" + "CUSTOMER AGREES TO PAY THE ABOVE AMOUNT"; wexReciept = wexReciept + "\r\n" + " ACCORDING TO THE CARD ISSUER AGREEMENT"; } wexReciept = wexReciept + "\r\n"; return(wexReciept); }
public static void AddTenders(string transactionType, string reason, Tenders tenders) { MemCacher.Delete($"TENDERS_{transactionType}_{reason}"); MemCacher.Add($"TENDERS_{transactionType}_{reason}", tenders, DateTimeOffset.UtcNow.AddHours(1)); }
public Payment(Tenders tender) { this.tender = tender; }
public override int GetHashCode() { int hashCode = 401631729; if (Id != null) { hashCode += Id.GetHashCode(); } if (LocationId != null) { hashCode += LocationId.GetHashCode(); } if (ReferenceId != null) { hashCode += ReferenceId.GetHashCode(); } if (Source != null) { hashCode += Source.GetHashCode(); } if (CustomerId != null) { hashCode += CustomerId.GetHashCode(); } if (LineItems != null) { hashCode += LineItems.GetHashCode(); } if (Taxes != null) { hashCode += Taxes.GetHashCode(); } if (Discounts != null) { hashCode += Discounts.GetHashCode(); } if (ServiceCharges != null) { hashCode += ServiceCharges.GetHashCode(); } if (Fulfillments != null) { hashCode += Fulfillments.GetHashCode(); } if (Returns != null) { hashCode += Returns.GetHashCode(); } if (ReturnAmounts != null) { hashCode += ReturnAmounts.GetHashCode(); } if (NetAmounts != null) { hashCode += NetAmounts.GetHashCode(); } if (RoundingAdjustment != null) { hashCode += RoundingAdjustment.GetHashCode(); } if (Tenders != null) { hashCode += Tenders.GetHashCode(); } if (Refunds != null) { hashCode += Refunds.GetHashCode(); } if (Metadata != null) { hashCode += Metadata.GetHashCode(); } if (CreatedAt != null) { hashCode += CreatedAt.GetHashCode(); } if (UpdatedAt != null) { hashCode += UpdatedAt.GetHashCode(); } if (ClosedAt != null) { hashCode += ClosedAt.GetHashCode(); } if (State != null) { hashCode += State.GetHashCode(); } if (Version != null) { hashCode += Version.GetHashCode(); } if (TotalMoney != null) { hashCode += TotalMoney.GetHashCode(); } if (TotalTaxMoney != null) { hashCode += TotalTaxMoney.GetHashCode(); } if (TotalDiscountMoney != null) { hashCode += TotalDiscountMoney.GetHashCode(); } if (TotalTipMoney != null) { hashCode += TotalTipMoney.GetHashCode(); } if (TotalServiceChargeMoney != null) { hashCode += TotalServiceChargeMoney.GetHashCode(); } if (PricingOptions != null) { hashCode += PricingOptions.GetHashCode(); } if (Rewards != null) { hashCode += Rewards.GetHashCode(); } return(hashCode); }
/// <summary> /// Method to save vendor payout /// </summary> /// <param name="po">Payout</param> /// <param name="tillNumber">Till number</param> /// <param name="userCode">User code</param> /// <param name="registerNumber">Register number</param> /// <param name="taxes">Taxes</param> /// <param name="openDrawer">Open cash drawer</param> /// <param name="error">Error message</param> /// <returns>Report</returns> public Report SaveVendorPayout(Payout po, int tillNumber, string userCode, byte registerNumber, List <Tax> taxes, out bool openDrawer, out ErrorMessage error) { openDrawer = false; var sale = _saleManager.GetCurrentSale(po.Sale_Num, tillNumber, 0, userCode, out error); var offSet = _policyManager.LoadStoreInfo().OffSet; if (!string.IsNullOrEmpty(error.MessageStyle.Message)) { return(null); } if (!_policyManager.DO_PAYOUTS || (sale != null && sale.Sale_Lines.Count > 0)) { MessageType temp_VbStyle8 = (int)MessageType.Exclamation + MessageType.OkOnly; error.MessageStyle = _resourceManager.CreateMessage(offSet, 38, 54, null, temp_VbStyle8); return(null); } if (po.Gross > (decimal)214748.3647) { error = new ErrorMessage { MessageStyle = new MessageStyle { Message = "Maximum payout amount is 214748.3647" } }; return(null); } var salePo = new Sale(); var tendPo = new Tenders(); var curr = Convert.ToString(_policyManager.BASECURR); if (string.IsNullOrEmpty(curr)) { MessageType temp_VbStyle = (int)MessageType.OkOnly + MessageType.Critical; error.MessageStyle = _resourceManager.CreateMessage(offSet, 23, 94, null, temp_VbStyle); return(null); } var poTaxes = _taxService.GetAllTaxes(); float sumTaxes = 0; foreach (var tax in taxes) { if (poTaxes.Any(p => p.TaxName == tax.Code)) { po.Payout_Taxes.Add(tax.Code, "", tax.Amount, true, tax.Code); salePo.Sale_Totals.Sale_Taxes.Add(tax.Code, "I", 0, 0, 0, tax.Amount, po.Gross, 0, 0, ""); sumTaxes = (float)(sumTaxes + Conversion.Val(tax.Amount)); } else { MessageType temp_VbStyle8 = (int)MessageType.Exclamation + MessageType.OkOnly; error.MessageStyle = new MessageStyle { Message = "Invalid tax entered", MessageType = temp_VbStyle8 }; return(null); } } if (!string.IsNullOrEmpty(po.Vendor.Code)) { po.Vendor = _stockService.GetVendorByCode(po.Vendor.Code); if (po.Vendor.Code == null) { MessageType temp_VbStyle2 = (int)MessageType.Critical + MessageType.OkOnly; error.MessageStyle = new MessageStyle { Message = "Invalid vendor code", MessageType = temp_VbStyle2 }; return(null); } } // Nicoolette changed next line on Nov 13,2007 to allow negative payouts, based on Mr. Gas requirement if (po.Gross == 0) { // If PO.Gross <= 0 Then //You must specify the Payout Amount, vbCritical + vbOKOnly MessageType temp_VbStyle2 = (int)MessageType.Critical + MessageType.OkOnly; error.MessageStyle = _resourceManager.CreateMessage(offSet, 23, 91, null, temp_VbStyle2); return(null); } if (_policyManager.PO_REASON) { po.Return_Reason = _reasonService.GetReturnReason(po.Return_Reason.Reason, (char)ReasonType.Payouts); if (po.Return_Reason == null) { MessageType temp_VbStyle2 = (int)MessageType.Critical + MessageType.OkOnly; error.MessageStyle = _resourceManager.CreateMessage(offSet, 23, 92, null, temp_VbStyle2); return(null); } salePo.Return_Reason = po.Return_Reason; } var till = _tillService.GetTill(tillNumber); till.Cash = till.Cash - po.Gross; _tillService.UpdateTill(till); if (_policyManager.OPEN_DRAWER == "Every Sale") { openDrawer = true; } tendPo.Add(curr, "Cash", 1, true, true, false, 1, curr, false, 0, 0, 0.01, true, Convert.ToDouble((object)-po.Gross), 1, true, false, "", ""); _tenderManager.Set_Amount_Entered(ref tendPo, ref salePo, tendPo[1], -po.Gross, -1); // payout if (_policyManager.PENNY_ADJ && po.Gross != 0) { salePo.Sale_Totals.Penny_Adj = modGlobalFunctions.Calculate_Penny_Adj(po.Gross); } else { salePo.Sale_Totals.Penny_Adj = 0; } po.Penny_Adj = salePo.Sale_Totals.Penny_Adj; // end salePo.Sale_Totals.Net = po.Gross; // - Sum_Taxes Nicolette commented out, // once for payout all taxes are included, don't subtract the taxes, // this will afect Sale_Amt in SaleHead, March 07, 2003 var saleTotals = salePo.Sale_Totals; _saleManager.SetGross(ref saleTotals, salePo.Sale_Totals.Net); salePo.Sale_Totals.Gross = saleTotals.Gross; salePo.Sale_Totals.TotalLabel = saleTotals.TotalLabel; salePo.Sale_Totals.SummaryLabel = saleTotals.SummaryLabel; salePo.Register = Convert.ToByte(registerNumber); salePo.Sale_Change = 0; salePo.TillNumber = Convert.ToByte(tillNumber); salePo.Sale_Date = DateTime.Now; salePo.Sale_Tender = 0; salePo.Sale_Totals.PayOut = po.Gross; salePo.Sale_Change = 0; salePo.Sale_Amount = 0; if (po.Sale_Num == 0) { salePo.Sale_Num = _saleManager.GetSaleNo(tillNumber, userCode, out error); } else { salePo.Sale_Num = po.Sale_Num; } po.Penny_Adj = salePo.Sale_Totals.Penny_Adj; // salePo.Sale_Type = "PAYOUT"; salePo.Vendor = po.Vendor.Code; var user = _userService.GetUser(userCode); var stream = _receiptManager.Print_Payout(po, userCode, user.Name, DateTime.Today, salePo.Sale_Date, registerNumber, till); stream.Copies = _policyManager.PayoutReceiptCopies; _saleManager.SaveSale(salePo, userCode, ref tendPo, null); _saleManager.Clear_Sale(salePo, po.Sale_Num, salePo.TillNumber, userCode, "", null, false, false, false, out error); return(stream); }
public static Transaction GenerateTransactionWithAllFields(Common common) { Transaction transaction = new Transaction(); Items item = new Items(); Discounts discount = new Discounts(); Rewards reward = new Rewards(); Tenders tender = new Tenders(); transaction.transactionId = common.RandomNumber(12); transaction.transactionType = Convert.ToInt32(common.RandomNumber(1)); transaction.transactionDate = System.DateTime.Now; transaction.registerNumber = "1"; transaction.storeId = 1; transaction.brandId = common.RandomString(6); transaction.creditsUsed = Convert.ToInt32(common.RandomNumber(3)); transaction.creditCardId = Convert.ToInt32(common.RandomNumber(8)); transaction.maskId = "xxxxxxxxxxxx" + common.RandomNumber(4); transaction.transactionNumber = common.RandomString(8); transaction.webOrderNumber = common.RandomString(8); transaction.amount = Math.Round(random.NextDouble() * 1000, 4); transaction.qualifyingAmount = random.NextDouble() * 100; transaction.discountAmount = random.NextDouble() * 10; transaction.employeeId = common.RandomString(10); transaction.channel = common.RandomString(3); transaction.items = new List <Items>(); transaction.discounts = new List <Discounts>(); transaction.rewards = new List <Rewards>(); transaction.tenders = new List <Tenders>(); item.discountAmount = random.NextDouble() * 10; item.itemId = common.RandomString(5); item.productId = Convert.ToInt32(common.RandomNumber(3)); item.itemTypeId = Convert.ToInt32(common.RandomNumber(1)); item.clearanceItem = Convert.ToInt32(common.RandomNumber(3)); item.itemNumber = Convert.ToInt32(common.RandomNumber(3)); item.retailAmount = random.NextDouble() * 100; item.saleAmount = random.NextDouble() * 100; item.actionId = Convert.ToInt32(common.RandomNumber(1)); item.transactionId = transaction.transactionId; item.quantity = Convert.ToInt32(common.RandomNumber(3)); discount.discountAmount = random.NextDouble() * 10; discount.offerCode = common.RandomString(10); discount.discountId = common.RandomString(10); discount.itemId = common.RandomString(10); discount.discountType = common.RandomString(10); discount.transactionId = transaction.transactionId; discount.transactionDate = transaction.transactionDate; tender.tenderId = common.RandomString(8); tender.tenderType = Convert.ToInt32(common.RandomNumber(1)); tender.amount = random.NextDouble() * 1000; tender.currency = common.RandomString(3); tender.taxRate = random.NextDouble() * 10; tender.taxAmount = random.NextDouble() * 100; tender.transactionId = transaction.transactionId; reward.itemId = common.RandomString(10); reward.rewardType = Convert.ToInt32(common.RandomNumber(1)); reward.rewardCode = common.RandomString(10); reward.discountAmount = random.NextDouble() * 100; reward.programId = Convert.ToInt32(common.RandomNumber(1)); reward.transactionId = transaction.transactionId; reward.transactionDate = transaction.transactionDate; transaction.items.Add(item); transaction.discounts.Add(discount); transaction.tenders.Add(tender); transaction.rewards.Add(reward); return(transaction); }
private void Class_Initialize_Renamed() { mvarTenders = new Tenders(); mvarCustomer = new Customer(); }