private void PrintCreditNoteFromTicketPleaseWait() { string error = ""; var number = BusinessPropsHelper.GenerateNextCreditNoteNumber(); var checkSum = new PasswordGenerator().Generate(4, 4, true); var result = TransactionQueueHelper.TryDepositByTicketMoneyOnHub(BusinessPropsHelper.GetNextTransactionId(), StationRepository.GetUid(ChangeTracker.CurrentUser), CurrentTicket.ticketNbr, CurrentTicket.checkSum, number, checkSum, ref error); if (!result) { ShowError(error); } else { var sucess = PrinterHandler.PrintCreditNote(CurrentTicket.wonAmount, number, checkSum, false, DateTime.MinValue, DateTime.MinValue); if (!sucess) { GetMoneyFromCreditNote(new CreditNoteWS() { amount = CurrentTicket.wonAmount, number = number, code = checkSum }); ShowError(TranslationProvider.Translate(MultistringTags.UNABLE_TO_PRINT_CREDITNOTE) + "\r\n" + TranslationProvider.Translate(MultistringTags.SHOP_FORM_CREDITNOTE) + ": " + number + " " + checkSum); } } Log.Error(error, new Exception(error)); CurrentTicket = WsdlRepository.LoadTicket(CurrentTicket.ticketNbr, CurrentTicket.checkSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true); ReloadTicket(CurrentTicket); }
public void CreditNoteLoggedInUserCashpoolDisabledTest() { decimal amount = 0; decimal factor; StationRepository.Setup(x => x.AllowAnonymousBetting).Returns(true); StationRepository.Setup(x => x.GetUid(It.IsAny <User>())).Returns(new uid()); BusinessPropsHelper.Setup(x => x.GetNextTransactionId()).Returns("123"); TicketHandler.Setup(x => x.TicketsInBasket).Returns(new SyncObservableCollection <Ticket>()); TicketHandler.Object.TicketsInBasket.Add(new Ticket()); WsdlRepository.Setup(x => x.DepositByCreditNote(It.IsAny <string>(), It.IsAny <uid>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); WsdlRepository.Setup(x => x.GetBalance(It.IsAny <uid>(), out amount, out factor)).Returns(1010); ChangeTracker.Setup(x => x.CurrentUser).Returns(new LoggedInUser(1, "1", 1000, 10, 10, 10)); string error = ""; TransactionQueueHelper.Setup(x => x.TryDepositByCreditNoteMoneyOnHub(It.IsAny <string>(), It.IsAny <uid>(), It.IsAny <string>(), It.IsAny <string>(), ref error)).Returns(true); var model = new BaseViewModel(); model.GetMoneyFromCreditNote(new CreditNoteWS() { amount = 10 }); WsdlRepository.Verify(x => x.GetBalance(It.IsAny <uid>(), out amount, out factor));; Assert.AreEqual(ChangeTracker.Object.CurrentUser.Cashpool, 1010); Assert.AreEqual(TicketHandler.Object.TicketsInBasket[0].Stake, 0); }
public void AddMoney(object sender, CashInEventArgs e) { ChangeTracker.CurrentUser.DailyLimit -= e.MoneyIn; ChangeTracker.CurrentUser.MonthlyLimit -= e.MoneyIn; ChangeTracker.CurrentUser.WeeklyLimit -= e.MoneyIn; Exception error = null; var balance = TransactionQueueHelper.TryDepositMoneyOnHub(BusinessPropsHelper.GetNextTransactionId(), StationRepository.GetUid(ChangeTracker.CurrentUser), e.MoneyIn, true, ref error, e.IsCoin ? CashAcceptorType.CoinAcceptor : CashAcceptorType.BillValidator); AddMoneyToTerminal(e.MoneyIn, error == null ? "" : error.ToString(), balance); }
public void LoadFromTransactionQueueAndSaveIncorectTicketsTest() { ConfigurationManager.AppSettings["CreateDatabase"] = "1"; StationSettingsUtils.m_sStartupPath = Path.GetDirectoryName(Assembly.GetAssembly(typeof(DatabaseTests)).Location); DatabaseManager.EnsureDatabase(false); DatabaseCache.EnsureDatabaseCache(); SportRadar.DAL.NewLineObjects.LineSr.EnsureFromCache(); var uid = new uid() { account_id = "1", session_id = "1", station_id = "123" }; var ticket = new TicketWS(); long[] tiplock = new long[1]; long[] tournamentLock = new long[1]; WsdlRepository.Setup(x => x.SaveTicket("0123", uid, ticket, false, "1234", out tiplock, out tournamentLock)).Throws(new Exception("test")); StationRepository.Setup(x => x.StationNumber).Returns("1234"); MessageMediator.Setup(x => x.SendMessage(It.IsAny <object>(), It.IsAny <string>())).Returns(true); var TransactionQueueHelper = new TransactionQueueHelper(); TransactionQueueHelper.TrySaveTicketOnHub("0123", uid, ticket, "1234", false); int count = TransactionQueueHelper.GetCountTransactionQueue(); Assert.IsTrue(count > 0); WsdlRepository.Setup(x => x.SaveTicket(It.IsAny <string>(), It.IsAny <uid>(), It.IsAny <TicketWS>(), It.IsAny <bool>(), It.IsAny <string>(), out tiplock, out tournamentLock)).Throws(new FaultException <HubServiceException>(new HubServiceException())); TransactionQueueHelper.TryToSaveTransactionObjectsOnHub(); int count2 = TransactionQueueHelper.GetCountTransactionQueue(); Assert.AreEqual(0, count2); }
private decimal RegisterAndGetCashInfo(out DateTime startdate, out DateTime enddate, out Dictionary <decimal, int> cashinNotes) { var amount = TransactionQueueHelper.TryRegisterMoneyOnHub(StationRepository.GetUid(ChangeTracker.CurrentUser), BusinessPropsHelper.GetNextTransactionId(), false, "STATION_CASH_OUT", (int)ChangeTracker.CurrentUser.AccountId, true, out startdate, out enddate); if (enddate - startdate < new TimeSpan(0, 0, 5)) { startdate = DateTime.MinValue; } cashinNotes = GetNotesValuesAndCount(startdate, enddate); amount = 0; foreach (var cashinNote in cashinNotes) { amount += cashinNote.Key * cashinNote.Value; } foreach (var cashinNote in cashinNotes) { Log.Debug("cashin notes:" + cashinNote.Key + " amount: " + cashinNote.Value); } return(amount); }
void _timer_Elapsed(object sender, EventArgs eventArgs) { if (DateTime.Now.Hour == 0 && DateTime.Now.Minute == 0 && DateTime.Now - lastRefresh > new TimeSpan(23, 59, 0)) { lastRefresh = DateTime.Now; Mediator.SendMessage(true, MsgTag.Refresh); Mediator.SendMessage(true, MsgTag.RefreshLiveMonitor); } try { LanguageRepository.GetAllLanguages(Languages); if (CurrentLanguage == null) { CurrentLanguage = Languages.FirstOrDefault(x => x.ShortName == StationRepository.DefaultDisplayLanguage.ToUpperInvariant()); if (CurrentLanguage != null) { AsyncSelectLanguage(CurrentLanguage.ShortName); } } if (!Languages.Contains(CurrentLanguage) && CurrentLanguage != Languages.FirstOrDefault()) { CurrentLanguage = Languages.FirstOrDefault(); if (CurrentLanguage != null) { AsyncSelectLanguage(CurrentLanguage.ShortName); } } TransactionQueueCounter = TransactionQueueHelper.GetCountTransactionQueue(); } catch (Exception ex) { Log.Error(ex.Message, ex); } Datetime = DateTime.Now; }
public void askWindow_YesClick(object sender, EventArgs e) { PrinterHandler.InitPrinter(true); if (StationRepository.PrinterStatus == 0) { ShowPrinterErrorMessage(); return; } long cashoutId = GetLastCashoutId() + 1; Dictionary <Decimal, int> CashinNotes = GetNotesValuesAndCount(cashoutId); TransactionQueueHelper.TryRegisterMoneyOnHub(StationRepository.GetUid(ChangeTracker.CurrentUser), BusinessPropsHelper.GetNextTransactionId(), ref _cashinCurrentAmount, false, "STATION_CASH_OUT", (int)ChangeTracker.CurrentUser.AccountId, true); foreach (var cashinNote in CashinNotes) { Log.Debug("cashin notes:" + cashinNote.Key + " amount: " + cashinNote.Value); } PrinterHandler.PrintCashBalance(CashinNotes, ChangeTracker.LastCashoutDate, DateTime.Now, _cashinCurrentAmount, 0, _cashinCurrentAmount, false, false, ChangeTracker.CurrentUser.Username, GetNumberOfCheckpoints() + 1); UpdateCashSummary(); Mediator.SendMessage("", MsgTag.RefreshCashOperations); }
public void NoConnectionTest() { ConfigurationManager.AppSettings["CreateDatabase"] = "1"; StationSettingsUtils.m_sStartupPath = Path.GetDirectoryName(Assembly.GetAssembly(typeof(DatabaseTests)).Location); DatabaseManager.EnsureDatabase(false); DatabaseCache.EnsureDatabaseCache(); SportRadar.DAL.NewLineObjects.LineSr.EnsureFromCache(); TestWsdlRepository repository = new TestWsdlRepository(); IoCContainer.Kernel.Rebind <IWsdlRepository>().ToConstant(repository).InSingletonScope(); repository.ConnectionProblem = true; var TransactionQueueHelper = new TransactionQueueHelper(); IoCContainer.Kernel.Rebind <ITransactionQueueHelper>().ToConstant(TransactionQueueHelper).InSingletonScope(); var uid = new uid() { account_id = "1", session_id = "1", station_id = "123" }; var ticket = new TicketWS(); TransactionQueueHelper.TrySaveTicketOnHub("0123", uid, ticket, "1234", false); StationRepository.Setup(x => x.StationNumber).Returns("1234"); MessageMediator.Setup(x => x.SendMessage(It.IsAny <object>(), "Error")).Returns(true); MainViewModel footerViewModel = new MainViewModel(); int count = TransactionQueueHelper.GetCountTransactionQueue(); Assert.IsTrue(count > 0); repository.ConnectionProblem = false; footerViewModel.TryToSaveTransactionObjectsOnHub(); //TransactionQueueHelper.TryToSaveTransactionObjectsOnHub(); count = TransactionQueueHelper.GetCountTransactionQueue(); Assert.AreEqual(0, count); //MessageMediator.Verify(x => x.SendMessage(It.IsAny<object>(), "Error"));; }
public void TicketSavePassedTest() { StationSettingsUtils.m_sStartupPath = Path.GetDirectoryName(Assembly.GetAssembly(typeof(DatabaseTests)).Location); DatabaseManager.EnsureDatabase(false); DatabaseCache.EnsureDatabaseCache(); SportRadar.DAL.NewLineObjects.LineSr.EnsureFromCache(); var uid = new uid() { account_id = "1", session_id = "1", station_id = "123" }; var ticket = new TicketWS(); var TransactionQueueHelper = new TransactionQueueHelper(); int countBeforeSaving = TransactionQueueHelper.GetCountTransactionQueue(); long[] tiplock = new long[1]; long[] tournamentLock = new long[1]; WsdlRepository.Setup(x => x.SaveTicket("0123", uid, ticket, false, "1234", out tiplock, out tournamentLock)).Throws(new System.ServiceModel.FaultException <HubServiceException>(new HubServiceException())); StationRepository.Setup(x => x.StationNumber).Returns("1234"); MessageMediator.Setup(x => x.SendMessage(It.IsAny <object>(), It.IsAny <string>())).Returns(true); try { TransactionQueueHelper.TrySaveTicketOnHub("0123", uid, ticket, "1234", false); } catch (Exception ex) { Assert.IsTrue(ex.GetType() == typeof(FaultException <HubServiceException>)); } int count = TransactionQueueHelper.GetCountTransactionQueue(); Assert.AreEqual(countBeforeSaving, count); }
public void PleaseWaitCloseBalance() { PrinterHandler.InitPrinter(true); if (StationRepository.PrinterStatus == 0) { ShowPrinterErrorMessage(); return; } long cashoutId = GetLastCashoutId() + 1; Dictionary <Decimal, int> CashinNotes = GetNotesValuesAndCount(cashoutId); decimal cashoutCurrentAmount = 0; TransactionQueueHelper.TryRegisterMoneyOnHub(StationRepository.GetUid(ChangeTracker.CurrentUser), BusinessPropsHelper.GetNextTransactionId(), ref _cashinCurrentAmount, false, "STATION_CASH_OUT", (int)ChangeTracker.CurrentUser.AccountId, true); foreach (var cashinNote in CashinNotes) { Log.Debug("cashin notes:" + cashinNote.Key + " amount: " + cashinNote.Value); } PrinterHandler.PrintCashBalance(CashinNotes, StartDate, DateTime.Now, _cashinCurrentAmount, 0, _cashinCurrentAmount, false, false, ChangeTracker.CurrentUser.Username, GetNumberOfCheckpoints() + 1); BusinessPropsHelper.GetAccountingAmount(out _cashinCurrentAmount, out cashoutCurrentAmount); IsEnabledCloseBalance = _cashinCurrentAmount - cashoutCurrentAmount > 0; }