// --- ELIMINA UN ATLETA --- public void eliminaAtleta(int id) // input: id atleta { bool errore; // lavoro: flag per errore string elimina = "N"; // lavoro: conferma eliminazione int indice = -1; // lavoro: posizione dell'oggetto in lista Console.WriteLine("*** Elimina Atleta ***" + Environment.NewLine); foreach (Atleta a in LAtleti) { if (a.Id == id) { do { errore = false; try { Console.WriteLine("Eliminare l'atleta? S/N"); elimina = Console.ReadLine(); if (!(elimina is string)) { throw new Exception("Inserire una lettera, 'S' o 'N'"); } if (elimina == "S" || elimina == "s") { // elimina l'atleta dal database if (GestioneDB.eseguiQuery("DELETE FROM Atleti WHERE ID = " + id)) { // salva la posizione dell'oggetto in lista indice = LAtleti.IndexOf(a); Console.WriteLine("Atleta eliminato con successo" + Environment.NewLine); } } } catch (Exception e) // eccezione { errore = true; Console.WriteLine("Errore di input: " + e); } } while (errore); } } if (indice > -1) // rimuove l'oggetto dalla lista { LAtleti.RemoveAt(indice); } else if (elimina == "S" || elimina == "s") { Console.WriteLine("Atleta non presente" + Environment.NewLine); } Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare..."); Console.ReadKey(); Console.Clear(); }
// --- CREA UNA SCHEDA --- public void creaScheda(int id) // input: id atleta { bool errore = false; // lavoro: flag in caso di eccezione SchedaNuoto nuoto = new SchedaNuoto(); // lavoro: oggetto contenente le info della scheda Console.WriteLine("*** Crea una nuova scheda nuoto ***" + Environment.NewLine + Environment.NewLine); do { // downcasting dell'oggetto Scheda nuoto = (SchedaNuoto)inputDati(); nuoto.Idatleta = id; // inserisce i dati nel database if (GestioneDB.eseguiQuery("INSERT INTO Nuoto (Durata," + "Istruttore," + "SerieCrawl," + "SerieDorso," + "SerieRana," + "SerieDelfino," + "RipCrawl," + "RipDorso," + "RipRana," + "RipDelfino," + "IdAtleta) VALUES (" + nuoto.Durata + ", '" + nuoto.Istruttore + "', " + nuoto.Crawl.serie + ", " + nuoto.Dorso.serie + ", " + nuoto.Rana.serie + ", " + nuoto.Delfino.serie + ", " + nuoto.Crawl.ripetizioni + ", " + nuoto.Dorso.ripetizioni + ", " + nuoto.Rana.ripetizioni + ", " + nuoto.Delfino.ripetizioni + ", " + id + ")")) { // aggiunge l'oggetto alla lista LNuoto.Add(nuoto); popolaLista(); Console.WriteLine("Inserimento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine(Environment.NewLine + "Errore di inserimento" + Environment.NewLine); } Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare..."); Console.ReadKey(); } while (errore); }
// --- MODIFICA UN ATLETA --- public void modificaAtleta(int id) // input: id atleta { bool trovato = false, // output: flag in caso di atleta presente errore = false; // lavoro: flag in caso di eccezione Atleta atleta = new Atleta(); // lavoro: oggetto d'appoggio Console.WriteLine("*** Modifica Atleta ***" + Environment.NewLine + Environment.NewLine); foreach (Atleta a in LAtleti) { if (a.Id == id) { trovato = true; do { errore = false; // prende i dati da tastiera atleta = inputDati(); // aggiorna dati dell'atleta nel database if (GestioneDB.eseguiQuery("UPDATE Atleti SET" + " Nome = '" + atleta.Nome + "', Cognome = '" + atleta.Cognome + "', Eta = " + atleta.Eta + " WHERE ID = " + a.Id)) { a.Nome = atleta.Nome; a.Cognome = atleta.Cognome; a.Eta = atleta.Eta; Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine("Errore di inserimento" + Environment.NewLine); } } while (errore); } } if (!trovato) { Console.WriteLine("Non esiste un atleta con questo nome"); } Console.WriteLine("Premere un tasto per continuare..."); Console.ReadKey(); }
// metodi // --- CREA UN ATLETA --- public void aggiungiAtleta() { bool errore = false; // lavoro: flag in caso di eccezione Atleta atleta = new Atleta(); // lavoro: oggetto contenente le info dell'atleta Console.WriteLine("*** Inserimento Nuovo Atleta ***" + Environment.NewLine + Environment.NewLine); do { // prende i dati in input da tastiera atleta = inputDati(); // inserisce i dati nel database if (GestioneDB.eseguiQuery("INSERT INTO Atleti (Nome,Cognome,Eta) " + "VALUES('" + atleta.Nome + "','" + atleta.Cognome + "'," + atleta.Eta + ")")) { // memorizza l'id dell'ultimo record inserito atleta.Id = ultimoInserito(atleta); // aggiunge l'oggetto alla lista LAtleti.Add(atleta); Console.WriteLine("Inserimento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine("Errore di inserimento" + Environment.NewLine); } Console.WriteLine("Premere un tasto per continuare..."); Console.ReadKey(); } while (errore); }
// --- MODIFICA L'ULTIMA SCHEDA --- public void modificaScheda(int id) // input: id atleta { bool errore, // lavoro: flag in caso di eccezione trovato = false; // lavoro: flag per oggetto trovato SchedaNuoto nuoto = new SchedaNuoto(); // lavoro: oggetto contenente le info della scheda Console.WriteLine("*** Aggiorna la scheda nuoto ***" + Environment.NewLine + Environment.NewLine); foreach (SchedaNuoto n in LNuoto) { if (n.Idatleta == id) { trovato = true; do { errore = false; // downcasting dell'oggetto nuoto = (SchedaNuoto)inputDati(); // aggiorna id dati nel db if (GestioneDB.eseguiQuery("UPDATE Nuoto SET " + "SerieCrawl = " + n.Crawl.serie + ",SerieDorso = " + n.Dorso.serie + ",SerieRana = " + n.Rana.serie + ",SerieDelfino = " + n.Delfino.serie + ",RipCrawl = " + n.Crawl.ripetizioni + ",RipDorso = " + n.Dorso.ripetizioni + ",RipRana = " + n.Rana.ripetizioni + ",RipDelfino = " + n.Delfino.ripetizioni + " WHERE IdAtleta = " + n.Idatleta + " AND DataN = (SELECT DataN" + " FROM Nuoto" + " WHERE IdAtleta = " + n.Idatleta + " ORDER BY DataN DESC" + " LIMIT 1)")) { n.Crawl = nuoto.Crawl; n.Dorso = nuoto.Dorso; n.Rana = nuoto.Rana; n.Delfino = nuoto.Delfino; Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine(Environment.NewLine + "Errore di aggiornamento" + Environment.NewLine); } } while (errore); } } if (!trovato) { Console.WriteLine(Environment.NewLine + "Scheda non presente" + Environment.NewLine); } Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare..."); Console.ReadKey(); }
// --- CANCELLA L'ULTIMA SCHEDA --- public void eliminaScheda(int id) // input: id atleta { bool errore; // lavoro: flag per errore string elimina = "N"; // lavoro: conferma eliminazione int indice = -1; // lavoro: flag per scheda presente foreach (SchedaNuoto n in LNuoto) { if (n.Idatleta == id) { do { errore = false; try { Console.WriteLine("Eliminare la scheda? S/N"); elimina = Console.ReadLine(); if (!(elimina is string)) { throw new Exception("Inserire una lettera, 'S' o 'N'"); } if (elimina == "S" || elimina == "s") { // elimina il record dal database if (GestioneDB.eseguiQuery("DELETE FROM Nuoto WHERE" + " IdAtleta = " + n.Idatleta + " AND DataN = (SELECT DataN" + " FROM Nuoto" + " WHERE IdAtleta = " + n.Idatleta + " ORDER BY DataN DESC" + " LIMIT 1)")) { // salva l'indice dell'elemento da rimuovere indice = LNuoto.IndexOf(n); Console.WriteLine(Environment.NewLine + "Scheda eliminata con successo" + Environment.NewLine); } else { errore = true; Console.WriteLine(Environment.NewLine + "Errore in fase di eliminazione" + Environment.NewLine); } } } catch (Exception e) // eccezione { errore = true; Console.WriteLine(Environment.NewLine + "Errore di input: " + e); } } while (errore); } } if (indice > -1) { LNuoto.RemoveAt(indice); // elimina la scheda dalla lista } else if (indice < 0 || (elimina == "S" || elimina == "s")) { Console.WriteLine("Scheda non presente" + Environment.NewLine); } Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare..."); Console.ReadKey(); }
// --- CREA UNA NUOVA SCHEDA --- public void creaScheda(int id) // input: id atleta { // dichiarazione variabili bool errore; // lavoro: flag in caso di eccezione SchedaPalestra palestra = new SchedaPalestra(); // lavoro: oggetto contenente le info della scheda nuoto Console.WriteLine("*** Crea una nuova scheda palestra ***" + Environment.NewLine + Environment.NewLine); do { errore = false; // downcasting palestra = (SchedaPalestra)inputDati(); palestra.Idatleta = id; // inserisce i dati nel database if (GestioneDB.eseguiQuery("INSERT INTO Palestra (Durata," + "Istruttore," + "SerieDeltoidi," + "SerieTricipiti," + "SerieBicipiti," + "SerieDorsali," + "SeriePettorali, " + "SerieAddominali, " + "SerieGambe," + "RipDeltoidi," + "RipTricipiti," + "RipBicipiti," + "RipDorsali," + "RipPettorali, " + "RipAddominali, " + "RipGambe," + "IdAtleta) VALUES (" + palestra.Durata + ", '" + palestra.Istruttore + "', " + palestra.Deltoidi.serie + ", " + palestra.Tricipiti.serie + ", " + palestra.Bicipiti.serie + ", " + palestra.Dorsali.serie + ", " + palestra.Pettorali.serie + ", " + palestra.Addominali.serie + ", " + palestra.Gambe.serie + ", " + palestra.Deltoidi.ripetizioni + ", " + palestra.Tricipiti.ripetizioni + ", " + palestra.Bicipiti.ripetizioni + ", " + palestra.Dorsali.ripetizioni + ", " + palestra.Pettorali.ripetizioni + ", " + palestra.Addominali.ripetizioni + ", " + palestra.Gambe.ripetizioni + ", " + id + ")")) { // aggiunge l'oggetto alla lista LPalestra.Add(palestra); popolaLista(); Console.WriteLine("Inserimento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine("Errore di inserimento" + Environment.NewLine); } Console.WriteLine("Premere un tasto per continuare..."); Console.ReadKey(); } while (errore); }
// --- MODIFICA UNA SCHEDA --- public void modificaScheda(int id) // input: id atleta { bool errore, // lavoro: flag in caso di eccezione trovato = false; // lavoro: flag in caso di record presente SchedaPalestra palestra = new SchedaPalestra(); // lavoro: oggetto scheda foreach (SchedaPalestra p in LPalestra) { if (p.Idatleta == id) { trovato = true; Console.WriteLine("*** Aggiorna la scheda palestra ***" + Environment.NewLine + Environment.NewLine); do { errore = false; // downcasting palestra = (SchedaPalestra)inputDati(); // aggiorna id dati nel db if (GestioneDB.eseguiQuery("UPDATE Palestra SET " + "Istruttore = '" + p.Istruttore + "',SerieDeltoidi = " + p.Deltoidi.serie + ",SerieTricipiti = " + p.Tricipiti.serie + ",SerieBicipiti = " + p.Bicipiti.serie + ",SerieDorsali = " + p.Dorsali.serie + ",SeriePettorali = " + p.Pettorali.serie + ",SerieAddominali = " + p.Addominali.serie + ",SerieGambe = " + p.Gambe.serie + ",RipDeltoidi = " + p.Deltoidi.ripetizioni + ",RipTricipiti = " + p.Tricipiti.ripetizioni + ",RipBicipiti = " + p.Bicipiti.ripetizioni + ",RipDorsali = " + p.Dorsali.ripetizioni + ",RipPettorali = " + p.Pettorali.ripetizioni + ",RipAddominali = " + p.Addominali.ripetizioni + ",RipGambe = " + p.Gambe.ripetizioni + " WHERE IdAtleta = " + p.Idatleta + " AND DataP = (SELECT DataP" + " FROM Palestra" + " WHERE IdAtleta = " + p.Idatleta + " ORDER BY DataP DESC" + " LIMIT 1)")) { // aggiorna l'oggetto p.Idatleta = id; p.Istruttore = palestra.Istruttore; p.Durata = palestra.Durata; p.Istruttore = palestra.Istruttore; p.Deltoidi = palestra.Deltoidi; p.Tricipiti = palestra.Tricipiti; p.Bicipiti = palestra.Bicipiti; p.Dorsali = palestra.Dorsali; p.Pettorali = palestra.Pettorali; p.Addominali = palestra.Addominali; p.Gambe = palestra.Gambe; Console.WriteLine("Aggiornamento effettuato" + Environment.NewLine); } else { errore = true; Console.WriteLine("Errore di aggiornamento" + Environment.NewLine); } } while (errore); } } if (!trovato) { Console.WriteLine("Scheda non presente" + Environment.NewLine); } Console.WriteLine("Premere un tasto per continuare..."); Console.ReadKey(); }