示例#1
0
        /// <summary>
        /// Costruttore.
        /// </summary>
        /// <param name="db">IDataAccessDb</param>
        public AnteprimaSchedinaViewModel(IDataAccessDb db)
        {
            if (IsInDesignMode)
            {
                // design-mode
            }
            else
            {
                // INIT
                this.selectedSchedina  = new Schedina();
                this.selectedScommessa = new Scommessa();
                this.selectedIncontro  = new Incontro();
                this.listScommesse     = new ObservableCollection <Scommessa>();

                // DB
                this.dataAccessDb = db;

                // RELAY COMMAND
                NavToPageCommand              = new RelayCommand(InsertSchedinaCommandExecute);
                UpdateScommessaCommand        = new RelayCommand <string>(UpdateScommessaCommandExecute);
                DeleteScommessaCommand        = new RelayCommand <Scommessa>(DeleteScommessaCommandExecute);
                RemoveSelectedItemCommand     = new RelayCommand(RemoveSelectedItemCommandExecute);
                AlreadyUpdateScommessaCommand = new RelayCommand(AlreadyUpdateScommessaCommandExecute);
            }
        }
示例#2
0
        /// <summary>
        /// aggiunge solo 2 scommesse per partita "Under/Over" e "1 x 2"
        /// </summary>
        /// <param name="numCampionati"></param>
        /// <returns></returns>
        private List <Basket> PopulateListBasket(int numCampionati)
        {
            List <Basket> baskets = new List <Basket>();
            Random        r       = new Random();

            for (int i = 0; i < numCampionati; ++i)
            {
                Basket basket = new Basket();

                int index = r.Next(nomeCampionati.Count);
                basket.NomeCampionato = nomeCampionati[index];

                List <Incontro> elencoIncontriBasket = new List <Incontro>();
                int             numPartiteCampionato = r.Next(1, 10);
                for (int j = 0; j < numPartiteCampionato; ++j)
                {
                    Incontro elencoIncontri = new Incontro();

                    index = r.Next(listTeamCasa.Count);
                    elencoIncontri.TeamCasa = listTeamCasa[index];

                    index = r.Next(listTeamFCasa.Count);
                    elencoIncontri.TeamFCasa = listTeamFCasa[index];

                    index = r.Next(date.Count);
                    elencoIncontri.Data = date[index];

                    index = r.Next(listaIdMatch.Count);
                    elencoIncontri.IdMatch = listaIdMatch[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q1 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q2 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.QX = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.TotalScore = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.OVER = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.UNDER = listQuote[index];

                    elencoIncontriBasket.Add(elencoIncontri);
                }

                basket.ElencoIncontriBasket = elencoIncontriBasket;
                baskets.Add(basket);
            }
            return(baskets);
        }
示例#3
0
        /// <summary>
        /// aggiunge solo una scommessa per partita e "1 x 2"
        /// </summary>
        /// <param name="numCampionati"></param>
        /// <returns></returns>
        private List <Tennis> PopulateListTennis(int numCampionati)
        {
            List <Tennis> tenniss = new List <Tennis>();
            Random        r       = new Random();

            for (int i = 0; i < numCampionati; ++i)
            {
                Tennis tennis = new Tennis();

                int index = r.Next(nomeCampionati.Count);
                tennis.NomeCampionato = nomeCampionati[index];

                List <Incontro> elencoIncontriTennis = new List <Incontro>();
                int             numPartiteCampionato = r.Next(1, 10);
                for (int j = 0; j < numPartiteCampionato; ++j)
                {
                    Incontro elencoIncontri = new Incontro();

                    index = r.Next(listTeamCasa.Count);
                    elencoIncontri.TeamCasa = listTeamCasa[index];

                    index = r.Next(listTeamFCasa.Count);
                    elencoIncontri.TeamFCasa = listTeamFCasa[index];

                    index = r.Next(date.Count);
                    elencoIncontri.Data = date[index];

                    index = r.Next(listaIdMatch.Count);
                    elencoIncontri.IdMatch = listaIdMatch[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q1 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q2 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.QX = listQuote[index];

                    elencoIncontriTennis.Add(elencoIncontri);
                }

                tennis.ElencoIncontriTennis = elencoIncontriTennis;
                tenniss.Add(tennis);
            }
            return(tenniss);
        }
示例#4
0
        /// <summary>
        /// Restituisce una immagine della Scommessa presente nel DB.
        /// </summary>
        private async void AlreadyUpdateScommessaCommandExecute()
        {
            System.Diagnostics.Debug.WriteLine("[ANTEPRIMASCHEDINAVIEWMODEL] \t" + "AlreadyUpdateScommessaCommandExecute routine");

            if (SelectedIncontro != null)
            {
                // Creo un nuovo Incontro con i dati delle quote da giocare.
                Incontro i = new Incontro();
                // Valori delle PRIMARY KEY da inviare sempre.
                i.TeamCasa  = SelectedIncontro.TeamCasa;
                i.TeamFCasa = SelectedIncontro.TeamFCasa;
                i.Data      = SelectedIncontro.Data;
                i.IdMatch   = SelectedIncontro.IdMatch;

                // Recupero la Scommessa, nota la Schedina e l'Incontro selezionati.
                ////Schedina s = await dataAccessDb.GetSchedina(this.SelectedSchedina.Title);
                ////ScommessaStored = await dataAccessDb.GetScommessa(i, s);
            }
        }
示例#5
0
        private List <Calcio> PopulateListCalcio(int numCampionati)
        {
            List <Calcio> listCalcio = new List <Calcio>();
            Random        r          = new Random();

            for (int i = 0; i < numCampionati; ++i)
            {
                Calcio calcio = new Calcio();

                int index = r.Next(nomeCampionati.Count);
                calcio.NomeCampionato = nomeCampionati[index];

                List <Incontro> elencoIncontriCalcio = new List <Incontro>();
                int             numPartiteCampionato = r.Next(1, 10);
                for (int j = 0; j < numPartiteCampionato; ++j)
                {
                    Incontro elencoIncontri = new Incontro();

                    index = r.Next(listTeamCasa.Count);
                    elencoIncontri.TeamCasa = listTeamCasa[index];

                    index = r.Next(listTeamFCasa.Count);
                    elencoIncontri.TeamFCasa = listTeamFCasa[index];

                    index = r.Next(date.Count);
                    elencoIncontri.Data = date[index];

                    index = r.Next(listaIdMatch.Count);
                    elencoIncontri.IdMatch = listaIdMatch[index];

                    index             = r.Next(listHC.Count);
                    elencoIncontri.HC = listHC[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q1 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.Q2 = listQuote[index];

                    index             = r.Next(listQuote.Count);
                    elencoIncontri.QX = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.HC1 = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.HC2 = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.HCX = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.TotalScore = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.OVER = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.UNDER = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.DC12 = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.DC1X = listQuote[index];

                    index = r.Next(listQuote.Count);
                    elencoIncontri.DCX2 = listQuote[index];

                    elencoIncontriCalcio.Add(elencoIncontri);
                }

                calcio.ElencoIncontriCalcio = elencoIncontriCalcio;
                listCalcio.Add(calcio);
            }
            return(listCalcio);
        }
示例#6
0
        /// <summary>
        /// Inserisce o aggiorna nel DB una scommessa per una determinata schedina.
        /// </summary>
        /// <param name="obj"></param>
        private async void UpdateScommessaCommandExecute(string obj)
        {
            if (SelectedIncontro != null)
            {
                // Creo un nuovo Incontro con i dati delle quote da giocare.
                Incontro i = new Incontro();
                // Valori delle PRIMARY KEY da inviare sempre.
                i.TeamCasa  = SelectedIncontro.TeamCasa;
                i.TeamFCasa = SelectedIncontro.TeamFCasa;
                i.Data      = SelectedIncontro.Data;
                i.IdMatch   = SelectedIncontro.IdMatch;

                // Quota giocata.
                switch (obj)
                {
                case "OVER": { i.OVER = SelectedIncontro.OVER; i.TotalScore = SelectedIncontro.TotalScore; } break;

                case "UNDER": { i.UNDER = SelectedIncontro.UNDER; i.TotalScore = SelectedIncontro.TotalScore; } break;

                case "Q1":
                {
                    i.Q1 = SelectedIncontro.Q1;
                    i.QX = string.Empty;
                    i.Q2 = string.Empty;
                }
                break;

                case "QX":
                {
                    i.QX = SelectedIncontro.QX;
                    i.Q1 = string.Empty;
                    i.Q2 = string.Empty;
                }
                break;

                case "Q2":
                {
                    i.Q2 = SelectedIncontro.Q2;
                    i.Q1 = string.Empty;
                    i.QX = string.Empty;
                }
                break;

                ////case "HC": i.HC = SelectedIncontro.HC; break;
                case "HC1": { i.HC1 = SelectedIncontro.HC1; i.HC = SelectedIncontro.HC; } break;

                case "HC2": { i.HC2 = SelectedIncontro.HC2; i.HC = SelectedIncontro.HC; } break;

                case "HCX": { i.HCX = SelectedIncontro.HCX; i.HC = SelectedIncontro.HC; } break;

                case "DC1X": i.DC1X = SelectedIncontro.DC1X; break;

                case "DC12": i.DC12 = SelectedIncontro.DC12; break;

                case "DCX2": i.DCX2 = SelectedIncontro.DCX2; break;

                case "Home12": i.Home12 = SelectedIncontro.Home12; break;

                case "Away12": i.Away12 = SelectedIncontro.Away12; break;

                default: break;
                }

                // Recupero la Schedina, poi passo l'oggetto Schedina e l'oggetto Incontro.
                // Dall'unione dei due ottengo un oggetto Scommessa che posso inserire nella tabella
                // Scommessa
                var s = await dataAccessDb.GetSchedina(this.SelectedSchedina.Title);

                bool isCompleted = await dataAccessDb.UpdateScommessa(i, s);

                if (isCompleted)
                {
                    // Aggiorno la lista delle scommesse effettuate.
                    PopolaAnteprimaProperties();
                    // Aggiorno la proprietà in binding
                    ////ScommessaStored = await dataAccessDb.GetScommessa(i, s);
                }
                else
                {
                    // TODO
                }
            }
        }