Ejemplo n.º 1
0
        // Coordinate ordinante
        private void writeMovimento16(RataSoggetto rata, DatiBancariCondomini banca, StreamWriter sw, int numeroDisposizione)
        {
            try
            {
                var sb = new StringBuilder(120);

                // Tipo Record
                sb.Append(" 16");

                // Numero Disposizione
                sb.Append(numeroDisposizione.ToString().PadLeft(7, '0'));

                // --------------------------------------------------------------------
                // Coordinate banca ordinante (banca del condominio)
                // --------------------------------------------------------------------
                var coord = new CoordinateBancarie
                {
                    Abi = banca.Abi,
                    Cab = banca.Cab,
                    ContoCorrente = banca.ContoCorrente
                };

                // Codice Paese
                sb.Append("IT");

                // CheckDigit IBAN
                sb.Append(coord.CalcolaCheckIBAN());

                // CIN
                sb.Append(coord.CalcolaCin());

                // ABI
                sb.Append(coord.Abi);

                // CAB
                sb.Append(coord.Cab);

                // Conto Corrente
                sb.Append(coord.ContoCorrente);

                // filler
                sb.Append(string.Empty.PadLeft(83));

                sw.WriteLine(sb.ToString());
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato durante la creazione di una singola riga di MAV - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), banca.CondominioRiferimento.ID, banca.CondominioRiferimento.Azienda.ID);
                throw;
            }
        }