Esempio n. 1
0
        }                                         // 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;
 }
Esempio n. 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);
            }
        }
Esempio n. 4
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);
 }
Esempio n. 5
0
        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);
                }
            }
        }
Esempio n. 6
0
        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;
                }
            }
        }
Esempio n. 7
0
        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");
        }