/// <summary>
        /// aggiorno elenco movimenti
        /// </summary>
        /// <param name="elencoIban">elenco dei conto correnti che contengono movimenti alla data specificata</param>
        /// <param name="dataGiornaliera">data specificata di cui voglio vedere i movimenti</param>
        private void aggiornaElenco(List <string> elencoIban, string dataGiornaliera)
        {
            // azzerra la listview
            listMovimenti.Items.Clear();

            // scorro l'elenco dei CC
            foreach (var iban in elencoIban)
            {
                // recupero il CC dalla banca
                var cc = banca.Get(iban);

                // recupero l'elenco per data del CC selezionato
                var elencoPerData = cc.GetMovimentiPerData();

                // di supporto
                List <Movimento> items;

                // recupera l'elenco dei movimenti per quella data
                if (elencoPerData.TryGetValue(dataGiornaliera, out items))
                {
                    // scorro i movimenti del CC nella data selezionata
                    foreach (var movimento in items)
                    {
                        // prendo il tipo e l'importo dal movimento e lo aggiungo alla listview
                        var item2 = new ListViewItem(new[] {
                            iban,
                            movimento.GetData().ToShortDateString() + " " + movimento.GetData().ToShortTimeString(),
                            movimento.GetTipo(),
                            movimento.GetImporto().ToString()
                        });
                        listMovimenti.Items.Add(item2);
                    }
                }
            }
        }
 /// <summary>
 /// ha il caricamento del dialogo, viene generato l'evento load che utilizzo per inizializzare le componenti del dialogo
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void StatoCC_Load(object sender, EventArgs e)
 {
     // trovo tramite iban il conto corrente su cui voglio effettuare la visualizzazione dello stato
     // come già scritto in altri commenti iban è selezionato da una listview per cui non può essere sbagliato
     cc = banca.Get(iban);
     // visualizzo il saldo del conto corrente
     lblSaldo.Text = cc.Saldo().ToString();
     // aggiorno l'elenco
     aggiornaElencoCC();
 }
        /// <summary>
        /// aggiungo soldi sul conto corrente
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnAggiungiSoldi_Click(object sender, EventArgs e)
        {
            // prendo l'importo dell'operazione
            var importo = Convert.ToDouble(txtCredito.Text);

            // se l'importo è maggiore di 0 effettuo l'operazione
            if (importo > 0)
            {
                // prendo tramite l'iban il conto corrente su cui effettuare l'operazione
                var cc = banca.Get(iban);
                // effettuo il versamento
                cc.Versamento(importo);
                // chiudo il dialogo
                DialogResult = DialogResult.OK;
                Close();
            }
        }
        /// <summary>
        /// ha il caricamento del dialogo, viene generato l'evento load che utilizzo per inizializzare le componenti del dialogo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ListaVersamentiCC_Load(object sender, EventArgs e)
        {
            // trovo tramite iban il conto corrente su cui voglio effettuare la visualizzazione dello stato
            // come già scritto in altri commenti iban è selezionato da una listview per cui non può essere sbagliato
            cc = banca.Get(iban);
            // visualizzo il saldo del conto corrente
            lblSaldo.Text = cc.Saldo().ToString();

            // prende l'elenco dei movimenti del CC raggruppati per data
            elencoPerData = cc.GetMovimentiPerData();

            // ciclo l'elenco e prende la chiave del dictionary che corrisponde alla data del movimento/i
            foreach (var item in elencoPerData)
            {
                // aggiunge la data alla comboBox di visualizzazione
                cbDateMovimenti.Items.Add(item.Key);
            }
        }
        /// <summary>
        /// effettuo il prelievo
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnRemove_Click(object sender, EventArgs e)
        {
            // importo del prelievo
            var importo = Convert.ToDouble(txtPrelievo.Text);

            // se il valore del prelievo è maggiore di 0 effettuo l'operazione
            if (importo > 0)
            {
                // tramite iban  nella banca trovo il conto corrente su cui fare l'operazione (non controllo eventuali errori perché iban è stato selezionato dalla lista,
                // è quindi sicuramente esistente)
                var cc = banca.Get(iban);

                // eseguo operazione, controllo se c'è un errore
                if (cc.Prelievo(importo) != importo)
                {
                    MessageBox.Show("Prelievo ha restituito un errore e l'operazione non è stata effettuata.");
                }
                // esco dal dialogo
                DialogResult = DialogResult.OK;
                Close();
            }
        }
 private void Bonifico_Load(object sender, EventArgs e)
 {
     cc = banca.Get(iban);
     aggiornaElencoCC();
 }