} // Intestatario del movimento /// <summary> /// Costruttore Movimento /// </summary> /// <param name="DataOraMovimento">Data e ora del movimento effettuato</param> /// <param name="tipoMovimento">Tipo di movimento effettuato (prelievo o versamento)</param> /// <param name="importo">Importo del movimento</param> /// <param name="intestatario">Intestatario del movimento</param> public Movimento(DateTime DataOraMovimento, string tipoMovimento, double importo, Intestatario intestatario) { this.DataOraMovimento = DataOraMovimento; this.tipoMovimento = tipoMovimento; this.importo = importo; this.intestatario = intestatario; }
/// <summary> /// Costruttore c/c /// </summary> /// <param name="intestatario">Intestatario del conto</param> /// <param name="maxMovimenti">Numero massimo di movimenti gratuiti</param> /// <param name="iban">IBAN del conto corrente</param> public ContoCorrente(Intestatario intestatario, int maxMovimenti, string iban, Banca banca) { this.Intestatario = intestatario; this.maxMovimenti = maxMovimenti; this.Iban = iban; Saldo = 0; this.Banca = banca; }
/// <summary> /// Dato un intestatario e una data ritorna i movimenti effettuati da quel cliente in quel giorno /// </summary> /// <param name="data">Data del movimento</param> /// <param name="intestatario">Intestatario del movimento</param> /// <returns>Ritorna i movimenti effettuati da un dato cliente in un dato giorno</returns> public string GetMovimento(DateTime data, Intestatario intestatario) { string risultato = ""; foreach (Movimento m in movimenti_effettuati) { if (m.intestatario == intestatario && m.DataOraMovimento == data) { risultato = risultato + "\n------------------------------"; risultato = risultato + "\nIntestatario: " + m.intestatario.Nome + "\nData e ora movimento: " + m.DataOraMovimento + "\nImporto movimento: " + m.importo + " euro" + "\nTipo movimento: " + m.tipoMovimento; risultato = risultato + "\n------------------------------"; } } if (risultato == "") { return("Nessuna transazione presente per quel giorno"); } else { return(risultato); } }
/// <summary> /// Aggiunge alla lista dei clienti della banca il cliente i /// </summary> /// <param name="i">Cliente da aggiungere</param> public void AddCliente(Intestatario i) { clienti.Add(i); }
public static void AddContoAggiuntivo(Banca banca) { bool trovato = false; Random iban_casuale = new Random(); Console.Write("\nInserire codice fiscale cliente: "); Intestatario cliente = new Intestatario("", "", "", "", "", DateTime.Now); string cf = Console.ReadLine(); foreach (Intestatario c in banca.clienti) { if (c.Cf == cf) { trovato = true; cliente = c; } } if (trovato) { string risposta = ""; do { Console.WriteLine("Vuoi aggiungere un conto online? (si/no)"); risposta = Console.ReadLine().ToLower(); if (risposta != "si" && risposta != "no") { Console.WriteLine("Errore nell'inserimento dati"); } } while (risposta != "si" && risposta != "sì" && risposta != "no"); if (risposta == "no") { Console.WriteLine("Creazione del conto..."); ContoCorrente conto = new ContoCorrente(cliente, 100, "IT39" + iban_casuale.Next(10000, 1000000), banca); banca.AddConto(conto); cliente.AddConto(conto); Console.WriteLine("Conto corrente creato con numero massimo di movimenti pari a 100 e con iban: " + conto.Iban + "\n\n"); } else { Console.WriteLine("Creazione conto online..."); ContoCorrente contoOnline = new ContoOnLine(cliente, 100, "IT39" + iban_casuale.Next(10000, 1000000), banca, 2500); Console.WriteLine("Conto corrente creato con numero massimo di movimenti pari a 100, un prelievo massimo di 2500 e con iban: " + contoOnline.Iban + "\n\n"); } } else { string risposta = ""; do { Console.WriteLine("Cliente non trovato, vuoi inserirlo? (si/no)"); risposta = Console.ReadLine().ToLower(); } while (risposta != "si" && risposta != "no"); if (risposta == "si") { NuovoUtente(banca); } } }
public static void StampaMovimenti(Banca banca) { int selezione = 0; while (selezione != 99) { do { try { Console.WriteLine("\n------------------------------"); Console.WriteLine("1 - Stampa movimenti di un dato giorno"); Console.WriteLine("2 - Stampa movimenti di un dato cliente"); Console.WriteLine("3 - Stampa movimenti di un dato cliente in un dato giorno"); Console.WriteLine("\n99 - Indietro"); selezione = int.Parse(Console.ReadLine()); if (selezione != 1 && selezione != 2 && selezione != 3 && selezione != 99) { Console.WriteLine("Errore nell'inserimento dei dati"); } } catch { Console.WriteLine("Errore nell'inserimento dei dati"); selezione = 0; } } while (selezione != 1 && selezione != 2 && selezione != 3 && selezione != 99); switch (selezione) { case 1: DateTime data = new DateTime(); bool errore = true; while (errore == true) { try { string[] sdata; Console.Write("\nInserisci data (anno/mese/giorno): "); sdata = Console.ReadLine().ToString().Split('/'); data = new DateTime(int.Parse(sdata[0]), int.Parse(sdata[1]), int.Parse(sdata[2])); errore = false; } catch { errore = true; Console.WriteLine("Errore nell'inserimento dei dati"); } } Console.WriteLine(banca.GetMovimento(data)); break; case 2: string iban; bool trovato = false; Console.WriteLine("Inserire IBAN del cliente da cercare: "); iban = Console.ReadLine(); Intestatario intestatario = new Intestatario("", "", "", "", "", DateTime.Now); foreach (ContoCorrente i in banca.conti) { if (i.Iban == iban) { intestatario = i.Intestatario; trovato = true; } } if (trovato) { Console.WriteLine(banca.GetMovimento(intestatario)); } else { Console.WriteLine("Cliente non trovato"); } break; case 3: DateTime data2 = new DateTime(); bool errore2 = true; while (errore2 == true) { try { string[] sdata; Console.Write("\nInserisci data (anno/mese/giorno): "); sdata = Console.ReadLine().ToString().Split('/'); data = new DateTime(int.Parse(sdata[0]), int.Parse(sdata[1]), int.Parse(sdata[2])); errore = false; } catch { errore = true; Console.WriteLine("Errore nell'inserimento dei dati"); } } string iban2; bool trovato2 = false; Console.WriteLine("Inserire IBAN del cliente da cercare: "); iban2 = Console.ReadLine(); Intestatario intestatario2 = new Intestatario("", "", "", "", "", DateTime.Now); foreach (ContoCorrente i in banca.conti) { if (i.Iban == iban2) { intestatario2 = i.Intestatario; trovato2 = true; } } if (trovato2) { Console.WriteLine(banca.GetMovimento(data2, intestatario2)); } else { Console.WriteLine("Cliente non trovato"); } break; } } }
public static void NuovoUtente(Banca banca) { Random iban_casuale = new Random(); string nome, cf, telefono, mail, indirizzo; DateTime dataNascita = new DateTime(); Console.Write("\nInserisci nome: "); nome = Console.ReadLine().ToString(); Console.Write("\nInserisci codice fiscale: "); cf = Console.ReadLine().ToString(); Console.Write("\nInserisci numero di telefono: "); telefono = Console.ReadLine().ToString(); Console.Write("\nInserisci mail: "); mail = Console.ReadLine().ToString(); Console.Write("\nInserisci indirizzo: "); indirizzo = Console.ReadLine().ToString(); bool errore = true; while (errore == true) { try { string[] data; Console.Write("\nInserisci data di nascita (anno/mese/giorno): "); data = Console.ReadLine().ToString().Split('/'); dataNascita = new DateTime(int.Parse(data[0]), int.Parse(data[1]), int.Parse(data[2])); errore = false; } catch { errore = true; Console.WriteLine("Errore nell'inserimento dei dati"); } } Intestatario intestatario = new Intestatario(nome, cf, telefono, mail, indirizzo, dataNascita); Console.WriteLine("Intestatario inserito correttamente"); banca.AddCliente(intestatario); string risp; do { Console.Write("Vuoi creare un conto online? (si/no) "); risp = Console.ReadLine().ToLower(); if (risp == "si" || risp == "sì") { Console.WriteLine("Creazione conto online..."); ContoCorrente contoOnline = new ContoOnLine(intestatario, 100, "IT39" + iban_casuale.Next(10000, 1000000), banca, 2500); Console.WriteLine("Conto corrente creato con numero massimo di movimenti pari a 100, un prelievo massimo di 2500 e con iban: " + contoOnline.Iban + "\n\n"); } else if (risp == "no") { Console.WriteLine("Creazione del conto..."); ContoCorrente conto = new ContoCorrente(intestatario, 100, "IT39" + iban_casuale.Next(10000, 1000000), banca); banca.AddConto(conto); Console.WriteLine("Conto corrente creato con numero massimo di movimenti pari a 100 e con iban: " + conto.Iban + "\n\n"); } else { Console.WriteLine("\nErrore, valore inserito non valido\n"); } } while (risp != "si" && risp != "sì" && risp != "no"); }