private static void StampaListaBici() { //Richiedo all'utente il tipo di provider dati ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Provider storage(Json)"); string storageTypeAsString = "Json"; //ConsoleUtils.ReadLine<string>(e => e == "Json"); StorageType storageType = Enum.Parse <StorageType>(storageTypeAsString); IManager <Bici> biciManager; //Switch sul tipo di storage switch (storageType) { case StorageType.Json: biciManager = new JsonBiciManager(); break; default: throw new NotSupportedException($"Il provider {storageType} non è supportato"); } //Istanzio il business layer (che il cervello della //nostra applicazione) VeicoloMainBusinessLayer layer = new VeicoloMainBusinessLayer(biciManager); layer.StampaBici(); }
private static void Find() { //Richiedo all'utente il tipo di provider dati ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Provider storage(Json)"); string storageTypeAsString = "Json"; //ConsoleUtils.ReadLine<string>(e => e == "Json"); StorageType storageType = Enum.Parse <StorageType>(storageTypeAsString); IManager <Bici> biciManager; //Switch sul tipo di storage switch (storageType) { case StorageType.Json: biciManager = new JsonBiciManager(); break; default: throw new NotSupportedException($"Il provider {storageType} non è supportato"); } ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Modello da ricerchare:"); string Modello = ConsoleUtils.ReadLine <string>(t => !string.IsNullOrEmpty(t)); //Istanzio il business layer VeicoloMainBusinessLayer layer = new VeicoloMainBusinessLayer(biciManager); layer.FindByModello(Modello); }
private static void CreaBici() { //Richiedo all'utente il tipo di provider dati ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Provider storage(Json)"); string storageTypeAsString = "Json"; //ConsoleUtils.ReadLine<string>(e => e == "Json"); StorageType storageType = Enum.Parse <StorageType>(storageTypeAsString); //Richiediamo i dati da console ConsoleUtils.WriteColor(ConsoleColor.Yellow, "NumeroTelaio:"); string NumeroTelaio = ConsoleUtils.ReadLine <string>(t => !string.IsNullOrEmpty(t)); ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Marca:"); string Marca = ConsoleUtils.ReadLine <string>(t => !string.IsNullOrEmpty(t)); ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Colore:"); string Colore = ConsoleUtils.ReadLine <string>(t => !string.IsNullOrEmpty(t)); ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Modello:"); string Modello = ConsoleUtils.ReadLine <string>(t => !string.IsNullOrEmpty(t)); ConsoleUtils.WriteColor(ConsoleColor.Yellow, "Velocità:"); int Velocita = ConsoleUtils.ReadLine <int>(p => p > 0); ConsoleUtils.WriteColor(ConsoleColor.Yellow, "IsElettrica:"); bool IsElettrica = ConsoleUtils.ReadLine <bool>(t => t == true || t == false); IManager <Bici> biciManager; //Switch sul tipo di storage switch (storageType) { case StorageType.Json: biciManager = new JsonBiciManager(); break; default: throw new NotSupportedException($"Il provider {storageType} non è supportato"); } //Istanzio il business layer VeicoloMainBusinessLayer layer = new VeicoloMainBusinessLayer(biciManager); //Avvio la funzione di creazione string[] messaggiDiErrore = layer.CreaBiciSeNonEsiste( NumeroTelaio, Marca, Modello, IsElettrica, Colore, Velocita); //Se non ho messaggi di errore, confermo if (messaggiDiErrore.Length == 0) { ConsoleUtils.WriteColorLine(ConsoleColor.Green, "TUTTOBBBENE!!!"); } else { //Messaggio di errore generale ConsoleUtils.WriteColorLine(ConsoleColor.Yellow, "Attenzione! Ci sono errori nella creazione!"); //Scorriamo gli errori e li mostriamo all'utente foreach (var currentMessage in messaggiDiErrore) { ConsoleUtils.WriteColorLine(ConsoleColor.Yellow, currentMessage); } } }
public static void EseguiCreaModificaCancella() { //Creazione dell'istanza del manager delle bici Console.WriteLine(); Console.WriteLine("ESECUZIONE DEL WORKFLOW BICI..."); Console.WriteLine(); IManager <Bici> manager = new JsonBiciManager(); //Visualizzazione contenuto database Console.WriteLine("Lettura del database..."); var biciInArchivio = manager.Carica(); Console.WriteLine($"Trovate n° {biciInArchivio.Count} bici in archivio"); foreach (var currentBici in biciInArchivio) { Console.WriteLine($"Lettura: {currentBici.NumeroTelaio} (ID:{currentBici.Id})"); } Console.WriteLine(""); Console.WriteLine("Premere invio per proseguire..."); Console.ReadLine(); //Creazione di una nuova bici => "C" di CRUD Console.WriteLine("Creazione di una bici..."); var nuovaBici = new Bici { NumeroTelaio = "012345", Colore = "Green", IsElettrica = true, Modello = "Piaggio" }; manager.Crea(nuovaBici); Console.WriteLine("La bici dovrebbe essere stata creata su disco!"); Console.WriteLine(); //Leggiamo bici dal disco => "R" di CRUD Console.WriteLine("Lettura del database..."); var tutteLeBici = manager.Carica(); Console.WriteLine($"Numero biciclette trovati: {tutteLeBici.Count}"); foreach (var currentBici in tutteLeBici) { Console.WriteLine($"Lettura dati bici: {currentBici.NumeroTelaio} (ID:{currentBici.Id})"); } Console.WriteLine(); Console.WriteLine("Premere invio per proseguire..."); Console.ReadLine(); //Modifico bici esistente e scrivo sui disco Console.WriteLine("Modifica di una bici esistente..."); nuovaBici.NumeroTelaio = "012345"; manager.Aggiorna(nuovaBici); Console.WriteLine("Il nome cambiato dovrebbe essere sul disco!"); Console.WriteLine(); //Rileggiamo per vedere se effettivamente è cambiato Console.WriteLine("Lettura del database..."); var tutteLeBiciDiNuovo = manager.Carica(); Console.WriteLine($"Numero bici trovate: {tutteLeBiciDiNuovo.Count}"); foreach (var currentBici in tutteLeBiciDiNuovo) { Console.WriteLine($"Lettura bici: {currentBici.NumeroTelaio} (ID:{currentBici.Id})"); } Console.WriteLine(); Console.WriteLine("Premere invio per proseguire..."); Console.ReadLine(); //Cancellazione del Bicicletta => "D" di CRUD // Console.WriteLine("Cancellazione di un Bicicletta esistente..."); // manager.Cancella(nuovaBici); // Console.WriteLine("Il Bicicletta dovrebbe essere stato cancellato dal disco!"); // Console.WriteLine(); //Rileggiamo per vedere se effettivamente è cambiato Console.WriteLine("Lettura del database..."); var tuttiIbicicletteUltimaVolta = manager.Carica(); Console.WriteLine($"Numero biciclette trovate: {tuttiIbicicletteUltimaVolta.Count}"); foreach (var currentBicicletta in tuttiIbicicletteUltimaVolta) { Console.WriteLine($"Lettura Bicicletta: {currentBicicletta.NumeroTelaio} (ID:{currentBicicletta.Id})"); } Console.WriteLine(); Console.WriteLine("Premere invio per proseguire..."); Console.ReadLine(); }