}                                         // 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;
        }
예제 #2
0
 /// <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;
 }
예제 #3
0
        /// <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;
        }
예제 #8
0
 /// <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);
 }