} // 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); } }
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\n"); Console.Write("Scelta : "); selezione = int.Parse(Console.ReadLine()); if (selezione != 1 && selezione != 2 && selezione != 3 && selezione != 99) { Console.WriteLine("\n------------------------------"); Console.WriteLine("Errore nell'inserimento dei dati riprova"); } } catch { Console.WriteLine("\n------------------------------"); Console.WriteLine("Errore nell'inserimento dei dati riprova"); 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[] data1; Console.WriteLine("\n------------------------------"); Console.Write("Inserisci data (anno/mese/giorno): "); data1 = Convert.ToString(Console.ReadLine()).Split('/'); data = new DateTime(int.Parse(data1[0]), int.Parse(data1[1]), int.Parse(data1[2])); errore = false; } catch { errore = true; Console.WriteLine("\n------------------------------"); Console.WriteLine("Errore nell'inserimento dei dati riprova"); } } Console.WriteLine(banca.GetMovimento(data)); break; case 2: string iban; bool trovato = false; //Prima di stampare il movimento dell'intestatario si cerca l'iban inserito da utente se è presente nella lista iban Console.WriteLine("\n------------------------------"); 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 == true) { Console.WriteLine(banca.GetMovimento(intestatario)); } else { Console.WriteLine("\n------------------------------"); Console.WriteLine("Cliente non trovato inserisci un iban che sia presente nella lista"); } break; case 3: DateTime data2 = new DateTime(); bool errore2 = true; while (errore2 == true) { try { string[] sdata; Console.WriteLine("\n------------------------------"); Console.Write("Inserisci data (anno/mese/giorno): "); sdata = Console.ReadLine().ToString().Split('/'); data = new DateTime(int.Parse(sdata[0]), int.Parse(sdata[1]), int.Parse(sdata[2])); errore2 = false; } catch { errore2 = true; Console.WriteLine("\n------------------------------"); Console.WriteLine("Errore nell'inserimento dei dati"); } } string iban2; bool trovato2 = false; Console.WriteLine("\n------------------------------"); Console.WriteLine("Inserire IBAN del cliente da cercare: "); iban2 = Console.ReadLine(); Intestatario intestatario2 = new Intestatario("", "", "", "", "", DateTime.Now); //Stesso procedimento precedente foreach (ContoCorrente i in banca.conti) { if (i.Iban == iban2) { intestatario2 = i.Intestatario; trovato2 = true; } } if (trovato2 == true) { Console.WriteLine(banca.GetMovimento(data2, intestatario2)); } else { Console.WriteLine("\n------------------------------"); Console.WriteLine("Cliente non trovato inserisci un iban adeguato"); } break; } } }
public static void ModificaIntestatario(Banca banca) { string iban = "", nome, cf, telefono, mail, indirizzo; DateTime dataNascita = new DateTime(); Intestatario intestatario = new Intestatario("", "", "", "", "", DateTime.Now); //Prima di modificare l'intestatario si cerca prima l'iban inserito se è tra quelli all'interno della lista iban Console.WriteLine("\n------------------------------\n"); Console.WriteLine("Inserisci IBAN del cliente da modificare: "); string ibanIntestatario = Console.ReadLine(); foreach (ContoCorrente i in banca.conti) { if (i.Iban == ibanIntestatario) { iban = i.Iban; intestatario = i.Intestatario; } } if (iban == "") { Console.WriteLine("\nIl cliente non è presente nella lista metti un iban adeguato"); } else { Console.WriteLine("Inserire dati cliente...\n"); Console.Write("Inserisci nome: "); nome = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci codice fiscale: "); cf = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci numero di telefono: "); telefono = Convert.ToString(Console.ReadLine()); Console.WriteLine("\nInserisci mail: "); mail = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci indirizzo: "); indirizzo = Convert.ToString(Console.ReadLine()); bool errore = true; while (errore == true) { try { string[] data; Console.Write("\nInserisci data di nascita (anno/mese/giorno): "); data = Convert.ToString(Console.ReadLine()).Split('/'); dataNascita = new DateTime(int.Parse(data[0]), int.Parse(data[1]), int.Parse(data[2])); errore = false; } catch { errore = true; Console.WriteLine("\nErrore nell'inserimento dei dati riprova"); } } intestatario.Nome = nome; intestatario.Cf = cf; intestatario.Indirizzo = indirizzo; intestatario.Mail = mail; intestatario.Telefono = telefono; intestatario.DataNascita = dataNascita; } Console.WriteLine("Intestatario modificato correttamente\n"); Console.WriteLine("Ritorna all'home in corso........"); }
public static void InserisciIntestatario(Banca banca) { Random iban_casuale = new Random(); string nome, cf, telefono, mail, indirizzo; DateTime dataNascita = new DateTime(); Console.WriteLine("\n------------------------------\n"); Console.Write("Inserisci il nome: "); nome = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci il codice fiscale: "); cf = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci il numero di telefono: "); telefono = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci la mail: "); mail = Convert.ToString(Console.ReadLine()); Console.Write("\nInserisci l'indirizzo: "); indirizzo = Convert.ToString(Console.ReadLine()); bool errore = true; while (errore == true) { try { string[] data; Console.Write("\nInserisci data di nascita (anno/mese/giorno): "); data = Convert.ToString(Console.ReadLine()).Split('/'); dataNascita = new DateTime(int.Parse(data[0]), int.Parse(data[1]), int.Parse(data[2])); errore = false; } catch { errore = true; Console.WriteLine("\nErrore nell'inserimento dei dati riprova a mettere la data di nascita adeguata"); } } Intestatario intestatario = new Intestatario(nome, cf, telefono, mail, indirizzo, dataNascita); Console.WriteLine("Intestatario inserito con successo"); banca.AddCliente(intestatario); string risp; do { Console.Write("\nVuoi creare un conto online? (si/no) "); Console.WriteLine("\nRisposta:"); risp = Console.ReadLine(); if (risp == "si" || risp == "sì") { Console.WriteLine("\nCreazione 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("\nCreazione 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 riprova\n"); } } while (risp != "si" && risp != "sì" && risp != "no"); Console.WriteLine("Ritorna all'home in corso........"); }
double maxPrelievo; // Cifra massima che si può prelevare /// <summary> /// Costruttore del c/c online /// </summary> /// <param name="intestatario">Intestatario del conto</param> /// <param name="maxMovimenti">Numero massimo di movimenti gratuiti</param> /// <param name="iban">Iban del conto</param> /// <param name="maxPrelievo">Cifra massima prelevabile</param> public ContoOnline(Intestatario intestatario, int maxMovimenti, string iban, Banca banca, double maxPrelievo) : base(intestatario, maxMovimenti, iban, banca) { this.maxPrelievo = maxPrelievo; }
/// <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); }