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);
        }
        private void Refresh(bool obj)
        {
            try
            {
                var ticket = WsdlRepository.LoadTicket(CurrentTicket.ticketNbr, CurrentTicket.checkSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

                ReloadTicket(ticket);
            }
            catch (FaultException <HubServiceException> ex)
            {
                if (ex.Detail.code == 220)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.SHOP_FORM_TICKET_NOT_FOUND));
                }
                else if (ex.Detail.code == 1791)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_TICKET_INVALIDFRANCHISOR));
                }
                else
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_TICKET_INVALIDLOCATION));
                }
            }
            catch (Exception)
            {
                ShowError(TranslationProvider.Translate(MultistringTags.SERVER_ERROR));
            }
        }
        private void OnShowTicket(TicketView ticketView)
        {
            WaitOverlayProvider.ShowWaitOverlay();
            try
            {
                CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

                MyRegionManager.NavigateUsingViewModel <TicketDetailsViewModel>(RegionNames.UserProfileContentRegion);
            }
            catch (System.ServiceModel.FaultException <HubServiceException> exception)
            {
                ShowError(exception.Detail.message);
            }
        }
예제 #4
0
        private void PleaseWaitLoadTicket(bool redirect)
        {
            if (ChangeTracker.LoadedTicketcheckSum.Length < BarCodeConverter.TicketCodeLen || ChangeTracker.LoadedTicket.Length < BarCodeConverter.TicketNumLen)
            {
                return;
            }
            DetailsEnabled = false;
            try
            {
                if (ChangeTracker.LoadedTicketType == BarCodeConverter.BarcodeType.CREDIT_NOTE)
                {
                    Mediator.SendMessage(new Tuple <string, string>(TicketNumber, TicketCode), MsgTag.AddMoneyFromCreditNote);
                    return;
                }
                CurrentTicket = WsdlRepository.LoadTicket(ChangeTracker.LoadedTicket, ChangeTracker.LoadedTicketcheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);
                if (CurrentTicket != null)
                {
                    long   id     = 1;
                    string result = "1";
                    try
                    {
                        result = WsdlRepository.GetAccountByTicket(ChangeTracker.LoadedTicket);
                    }
                    catch (Exception)
                    {
                        result = "1";
                    }
                    long.TryParse(result, out id);
                    if ((ChangeTracker.CurrentUser != null && (id == ChangeTracker.CurrentUser.AccountId || id == 1)) || !StationRepository.AuthorizedTicketScanning)
                    {
                        ChangeTracker.LoadedTicketType = BarCodeConverter.BarcodeType.TICKET;
                    }
                    else
                    {
                        ShowError(TranslationProvider.Translate(MultistringTags.THIS_TICKET_DOES_NOT_BELONG_TO_YOU).ToString());
                        return;
                    }
                }



                if (ChangeTracker.LoadedTicketType == BarCodeConverter.BarcodeType.STORED_TICKET)
                {
                    Mediator.SendMessage("", MsgTag.OpenStoredTicket);
                    return;
                }

                if (CurrentTicket == null && ChangeTracker.LoadedTicketType == BarCodeConverter.BarcodeType.TICKET)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.SHOP_FORM_TICKET_NOT_FOUND).ToString());
                }
                else
                {
                    DetailsEnabled = true;
                    if (redirect)
                    {
                        MyRegionManager.NavigateUsingViewModel <TicketDetailsViewModel>(RegionNames.ContentRegion);
                    }
                }
            }
            catch (FaultException <HubServiceException> ex)
            {
                if (ex.Detail.code == 220)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.SHOP_FORM_TICKET_NOT_FOUND).ToString());
                }
                else if (ex.Detail.code == 1791)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_TICKET_INVALIDFRANCHISOR).ToString());
                }
                else if (ex.Detail.code == 1001)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.ANONYMOUS_BETTING_IS_DISABLED).ToString());
                }
                else
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_TICKET_INVALIDLOCATION).ToString());
                }
            }
            catch (Exception)
            {
                ShowError(TranslationProvider.Translate(MultistringTags.SERVER_ERROR).ToString());
            }
        }
예제 #5
0
        private void OnShowTicket(TicketView ticketView)
        {
            try
            {
                CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);
                var a = new TicketDetailsViewModel();
                a.OnNavigationCompleted();
                BalanceOperations = a.BalanceOperations;

                if (CurrentTicket != null)
                {
                    OnPropertyChanged("PendingApprovalVisibility");
                    ShowSuperBonus       = CurrentTicket.superBonus > 1;
                    SuperBonusValue      = CurrentTicket.superBonusValue;
                    ShowManipulationFee  = CurrentTicket.manipulationFee > 0;
                    ManipulationFee      = CurrentTicket.manipulationFee;
                    ManipulationFeeValue = CurrentTicket.manipulationFeeValue;
                    Stake = CurrentTicket != null ? CurrentTicket.stake : 0;

                    Station           = CurrentTicket.ticketNbr.Substring(0, 4);
                    TicketNumber      = CurrentTicket.ticketNbr;
                    Date              = CurrentTicket.acceptedTime;
                    ShowStakePerRow   = "";
                    SuperBonusPercent = (CurrentTicket.superBonus - 1) * 100;
                    if (CurrentTicket.bets != null)
                    {
                        long prevBankGroupID = -1;
                        int  bankCount       = 0;
                        int  multiWayCount   = 0;
                        foreach (TipWS tip in CurrentTicket.bets[0].tips2BetMulti)
                        {
                            if (tip.bankGroupID != prevBankGroupID && !tip.bank)
                            {
                                multiWayCount++;
                                prevBankGroupID = tip.bankGroupID;
                            }
                            if (tip.bank)
                            {
                                bankCount++;
                            }
                        }
                        StakePerRow = CurrentTicket.stake / CurrentTicket.bets[0].rows;
                        switch (CurrentTicket.bets[0].betType)
                        {
                        case Bet.BET_TYPE_COMBI:
                            BetType = TranslationProvider.Translate(MultistringTags.Multiple);
                            break;

                        case Bet.BET_TYPE_COMBIPATH:
                            BetType         = TranslationProvider.Translate(MultistringTags.Multiple_and_Ways);
                            ShowStakePerRow = "1";
                            break;

                        case Bet.BET_TYPE_SINGLE:
                            BetType = TranslationProvider.Translate(MultistringTags.SINGLES);
                            break;

                        case Bet.BET_TYPE_SYSTEM:
                            BetType = TranslationProvider.Translate(MultistringTags.Full_Cover) + " " + CurrentTicket.bets[0].systemX + "/" + CurrentTicket.bets[0].systemY;
                            if (bankCount > 0)
                            {
                                BetType += "+" + bankCount + "B";
                            }
                            ShowStakePerRow = "1";
                            break;

                        case Bet.BET_TYPE_SYSTEMPATH:
                            string sTmp =
                                TranslationProvider.Translate(MultistringTags.TERMINAL_PRINT_SYSTEM) + " " +
                                CurrentTicket.bets[0].systemX + "/" + CurrentTicket.bets[0].systemY;
                            if (bankCount > 0)
                            {
                                sTmp += "+" + bankCount + "B";
                            }
                            if (multiWayCount > 0)
                            {
                                sTmp += "+" + multiWayCount + "W";
                            }
                            BetType         = sTmp;
                            ShowStakePerRow = "1";
                            break;
                        }
                        PossibleWinning = CurrentTicket.bets[0].maxWin;
                    }
                    Paid = CurrentTicket.paid
                               ? TranslationProvider.Translate(MultistringTags.terminal_yes)
                               : TranslationProvider.Translate(MultistringTags.terminal_no);
                    //PaidAt = CurrentTicket.Paid ? CurrentTicket.PaidTime.ToShortDateString() : "-";
                    PaidAt        = CurrentTicket.paid ? String.Format("{0:dd.MM.yyyy HH:mm}", CurrentTicket.paidTime) : "-";
                    PaymentAmount = CurrentTicket.wonAmount;

                    //if (CurrentTicket.bets != null)
                    //    BalanceOperations = LoadOdds(new ObservableCollection<BetWS>(CurrentTicket.bets));
                    //string[] tabColor = GetTabColor();
                    //TabForecolor = tabColor[0];
                    //TabBgcolor = tabColor[1];
                    OnPropertyChanged("ShowTranferToAccountButton");
                    OnPropertyChanged("ShowCreditNoteButton");
                    OnPropertyChanged("TransferMoneyString");
                }
            }
            catch (System.ServiceModel.FaultException <HubServiceException> exception)
            {
                ShowError(exception.Detail.message);
            }
            //CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

            //    MyRegionManager.NavigateUsingViewModel<TicketDetailsViewModel>(RegionNames.UserProfileContentRegion);
        }