Ejemplo n.º 1
0
        void DataCopy_DataSqlUpdateSucceeded(eUpdateType eut, string sProviderDescription)
        {
            SyncHashSet <ITipItemVw> shsToRemove = new SyncHashSet <ITipItemVw>();

            var tipitems = new SortableObservableCollection <ITipItemVw>();

            foreach (var ticket1 in TicketHandler.TicketsInBasket.ToSyncList())
            {
                foreach (var tipItemVw in ticket1.TipItems.ToSyncList())
                {
                    tipitems.Add(tipItemVw);
                }
            }

            LineSr.VerifySelectedOdds(tipitems, shsToRemove);

            // remove hidden odds (disabled in web admin) and not caught by LineSr.VerifySelectedOdds()
            foreach (var ticket1 in TicketHandler.TicketsInBasket.ToSyncList())
            {
                foreach (var tipItemVw in ticket1.TipItems.ToSyncList())
                {
                    if (tipItemVw.OddView.Visibility == Visibility.Hidden)
                    {
                        shsToRemove.Add(tipItemVw);
                    }
                }
            }

            if (shsToRemove.Count > 0)
            {
                foreach (ITipItemVw tipItemVw in shsToRemove)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_REMOVE_FROM_BASKET_MATCH, tipItemVw.BetDomain.Match.MatchView.Name), null, false, 5);
                    PlaceBetMethod(tipItemVw, true);
                }
            }

            var TicketsInBasket = TicketHandler.TicketsInBasket.ToSyncList();

            foreach (var ticket1 in TicketsInBasket)
            {
                if (ticket1.TipItems.ToSyncList().Count == 0)
                {
                    var ticket = ticket1;
                    Dispatcher.Invoke(() =>
                    {
                        TicketHandler.TicketsInBasket.Remove(ticket);
                    });
                }
            }


            TicketsInBasket = TicketHandler.TicketsInBasket.ToSyncList();
            if (TicketsInBasket.Count() > 0)
            {
                TicketHandler.CopyValues();
            }
            TicketHandler.UpdateTicket();

            if (ChangeTracker.IsBasketOpen && TicketHandler.Count == 0 && !ChangeTracker.IsLandscapeMode)
            {
                Mediator.SendMessage("", MsgTag.ShowFirstViewAndResetFilters);
            }
        }