/// <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); } }
/// <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); }
/// <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); }
/// <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); } }
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); }
/// <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 } } }