Example #1
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);
        }