static void Main(string[] args)
        {
            ContoCorrente c;
            ContoCorrente d;

            //Creazione conto correnti

            Banca.aggiungiConto(new ContoCorrente(new Persona("Andrea", "Cecchini", "Rimini", new DateTime(2002, 05, 02), "CCCNDR05E02"), "AAACCCEEND"));
            Banca.aggiungiConto(new ContoCorrente(new Persona("Enrique", "Angelini", "Riccione", new DateTime(2000, 02, 10), "AAANRQ10E02"), "EEEAAANNRIQ"));
            Banca.aggiungiConto(new ContoOnline(new Persona("Matteo", "Canghiari", "Riccione", new DateTime(2002, 05, 14), "CCCATT05314"), "MMMCCCTTEO"));

            // Creazione movimenti
            // Esempio Versamento
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Il cliente Andrea Cecchini vuole versare 100 euro.IBAN:AAACCCEEND");
            c = Banca.CercaConto("AAACCCEEND");
            c.Versa(100);


            //Esempio Prelievo
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Il cliente Andrea Cecchini vuole prelevare 50 euro.");
            c = Banca.CercaConto("AAACCCEEND");
            if (c.Preleva(50))  //nel caso in cui sia vero oltre che a ritornare il bool il metodo preleva
            {
                Console.WriteLine("Movimento accettato");
            }
            else
            {
                Console.WriteLine("Movimento fallito");
            }

            //Esempio Bonifico
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Il cliente Andrea Cecchini vuole effettuare un bonifico di 50 euro al seguente conto:EEEAAANNRIQ ");
            c = Banca.CercaConto("AAACCCEEND");
            string iban_destinatario = "EEEAAANNRIQ";

            if (c.Bonifico(iban_destinatario, 50)) //nel caso in cui sia vero oltre che a ritornare il bool il metodo effettua un bonifico
            {
                Console.WriteLine("Movimento accettato");
            }
            else
            {
                Console.WriteLine("Movimento rifiutato");
            }

            // Esempio Movimento di Conto Online
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Il cliente Matteo Canghiari vuole prelevare 100 dal suo conto online.");
            c = Banca.CercaConto("MMMCCCTTEO");
            if (((ContoOnline)c).Preleva(100))
            {
                Console.WriteLine("Movimento accettato");
            }
            else
            {
                Console.WriteLine("Movimento fallito");
            }
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Stampa dei vari conti correnti e relativi movimenti");
            //Stampa Movimenti di tutti i conti;
            foreach (ContoCorrente k in Banca.ListaConti)
            {
                Console.WriteLine("\nIntestatario del conto corrente " + k.Intestatario.Nome);
                foreach (Movimento m in k.Movimenti)
                {
                    if (m == null)
                    {
                        Console.WriteLine("Nessun movimento");
                    }
                    else
                    {
                        if (m is Bonifico)
                        {
                            Console.WriteLine("Bonifico");
                            Console.WriteLine(("Iban destinatario: " + ((Bonifico)m).Destinatario));
                        }
                        else
                        {
                            if (m is Prelievo)
                            {
                                Console.WriteLine("Prelievo");
                            }
                            else
                            {
                                Console.WriteLine("Versamento");
                            }
                        }
                        Console.WriteLine("Data del movimento: " + m.DataMovimento.ToString());
                        Console.WriteLine("Importo del movimento : " + m.Importo + " euro");
                        Console.WriteLine("Identificativo del movimento: " + m.Id);
                        Console.WriteLine("\n");
                    }
                }
            }
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Controllo Conto Online IBAN: MMMCCCTTEO");
            c = Banca.CercaConto("MMMCCCTTEO");
            Console.WriteLine(((ContoOnline)c).stampaSaldo());
            Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            ContoCorrente c;
            ContoCorrente d;
            int           scelta;

            Console.WriteLine("Inserisci il nome della banca: ");
            string nomeBanca = Console.ReadLine();

            Console.WriteLine("Inserisci l'indirizzo della banca: ");
            string indirizzoBanca = Console.ReadLine();

            Banca Banca = new Banca(nomeBanca, indirizzoBanca);

            do
            {
                Console.Write("\n");
                Console.WriteLine("------------------------");
                Console.WriteLine("----/AZIONI POSSIBILI/----");

                Console.WriteLine("1 - Inserisci intestatario");
                Console.WriteLine("2 - Elimina intestatario");
                Console.WriteLine("3 - Effettua bonifico");
                Console.WriteLine("4 - Effettua prelievo");
                Console.WriteLine("5 - Effettua versamento");
                Console.WriteLine("6 - Stampa clienti della banca e movimenti");
                Console.WriteLine("7 - Stampa dati banca");
                Console.Write("\n");
                Console.WriteLine("8 - Esci");
                Console.WriteLine("------------------------");
                Console.Write("\n");

                Console.Write("Selezione: ");
                scelta = Convert.ToInt16(Console.ReadLine());

                Console.Write("\n");

                switch (scelta)
                {
                case 1:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    Console.Write("Inserisci nome: ");
                    string nome = Console.ReadLine();

                    Console.Write("Inserisci cognome: ");
                    string cognome = Console.ReadLine();

                    Console.Write("Inserisci luogo di nascita: ");
                    string luogoNascita = Console.ReadLine();

                    Console.Write("Inserisci data di nascita (anno/mese/giorno): ");
                    DateTime dataNascita = Convert.ToDateTime(Console.ReadLine());

                    Console.Write("Inserisci codice fiscale: ");
                    string codiceFiscale = Console.ReadLine();

                    Persona intestatario = new Persona(nome, cognome, luogoNascita, dataNascita, codiceFiscale);

                    Console.Write("Il conto creato è preferibile online (si/no): ");
                    string risposta = Console.ReadLine();

                    if (risposta == "si")
                    {
                        Console.Write("Inserisci IBAN: ");
                        string      IBAN        = Console.ReadLine();
                        ContoOnline contoOnline = new ContoOnline(intestatario, IBAN);
                        Banca.aggiungiConto(contoOnline);
                    }
                    else
                    {
                        Console.Write("Inserisci IBAN: ");
                        string        IBAN          = Console.ReadLine();
                        ContoCorrente contoCorrente = new ContoCorrente(intestatario, IBAN);
                        Banca.aggiungiConto(contoCorrente);
                    }
                    break;

                case 2:
                    Console.WriteLine("------------------------");

                    Console.Write("Inserisci l'IBAN dell'intestatario da eliminare: ");
                    string ibanElimanare = Console.ReadLine();

                    Banca.EliminaConto(ibanElimanare);
                    break;

                case 3:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    Console.Write("Inserisci la somma del bonifico: ");
                    int sommaBonifico = Convert.ToInt32(Console.ReadLine());

                    Console.Write("Inserisci IBAN mittente: ");
                    string ibanMittente = Console.ReadLine();

                    Console.Write("Inserisci IBAN destinatario: ");
                    string ibanDestinatario = Console.ReadLine();

                    c = Banca.CercaConto(ibanMittente);

                    if (c.Bonifico(ibanDestinatario, sommaBonifico))         //nel caso in cui sia vero oltre che a ritornare il bool il metodo effettua un bonifico
                    {
                        Console.WriteLine("Movimento accettato.");
                    }
                    else
                    {
                        Console.WriteLine("Movimento rifiutato.");
                    }
                    break;

                case 4:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    Console.Write("Inserisci la somma del prelievo: ");
                    int sommaPrelievo = Convert.ToInt32(Console.ReadLine());

                    Console.Write("Inserisci l'IBAN dell'intestario: ");
                    string ibanIntestatario = Console.ReadLine();

                    c = Banca.CercaConto(ibanIntestatario);

                    if (c.Preleva(sommaPrelievo))          //nel caso in cui sia vero oltre che a ritornare il bool il metodo preleva
                    {
                        Console.WriteLine("Movimento accettato.");
                    }
                    else
                    {
                        Console.WriteLine("Movimento fallito.");
                    }
                    break;

                case 5:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    Console.WriteLine("Inserisci la somma del versamento: ");
                    int sommaVersamento = Convert.ToInt32(Console.ReadLine());

                    Console.Write("Inserisci l'IBAN dell'intestatario: ");
                    string ibanVersamento = Console.ReadLine();

                    c = Banca.CercaConto(ibanVersamento);
                    c.Versa(sommaVersamento);

                    break;

                case 6:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    if (Banca.ListaConti.Count != 0)
                    {
                        foreach (ContoCorrente k in Banca.ListaConti)
                        {
                            Console.WriteLine("\nIntestatario del conto corrente " + k.Intestatario.Nome);
                            foreach (Movimento m in k.Movimenti)
                            {
                                if (m == null)
                                {
                                    Console.WriteLine("Nessun movimento.");
                                }
                                else
                                {
                                    if (m is Bonifico)
                                    {
                                        Console.WriteLine("Movimento richiesto: bonifico.");
                                        Console.WriteLine(("Iban destinatario: " + ((Bonifico)m).Destinatario));
                                    }
                                    else
                                    {
                                        if (m is Prelievo)
                                        {
                                            Console.WriteLine("Moviemento richiesto: prelievo.");
                                        }
                                        else
                                        {
                                            Console.WriteLine("Movimento richiesto: versamento.");
                                        }
                                    }
                                    Console.WriteLine("Data del movimento: " + m.DataMovimento.ToString());
                                    Console.WriteLine("Importo del movimento : " + m.Importo + " euro.");
                                    Console.WriteLine("Identificativo del movimento: " + m.Id);
                                }
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Non è presente alcun conto all'interno della lista.");
                    }

                    break;

                case 7:
                    Console.WriteLine("------------------------");
                    Console.Write("\n");

                    Console.Write("Stampa nome banca: " + Banca.Nome + "\n");
                    Console.Write("Stampa indirizzo banca: " + Banca.Indirizzo);
                    Console.ReadLine();

                    break;
                }
            } while (scelta != 8);
        }