コード例 #1
0
        private void setDatiBancari(CabDTO cabDto)
        {
            abi.Value = cabDto.Abi;
            cab.Value = cabDto.Cab;
            descrizioneAbi.Text = cabDto.DescrizioneAbi;
            descrizioneCab.Text = cabDto.DescrizioneCab;
            Fornitore.PersonaRiferimento.Abi = cabDto.Abi;
            Fornitore.PersonaRiferimento.Cab = cabDto.Cab;

            var coord = new CoordinateBancarie {Abi = cabDto.Abi, Cab = cabDto.Cab, ContoCorrente = contoCorrente.Text};
            iban.Text = coord.CalcolaIBAN();
            Fornitore.PersonaRiferimento.Iban = iban.Text;

            cin.Text = coord.CalcolaCin();
            Fornitore.PersonaRiferimento.Cin = cin.Text;
        }
コード例 #2
0
 private void contoCorrenteLeave(object sender, EventArgs e)
 {
     if (abi.Value != null && cab.Value != null && contoCorrente.Value != null)
     {
         iban.Leave -= ibanLeave;
         var coord = new CoordinateBancarie
                         {
                             Abi = abi.Value.ToString(),
                             Cab = cab.Value.ToString(),
                             ContoCorrente = contoCorrente.Value.ToString()
                         };
         if (contoCorrente.Value.ToString().Length < 12)
             Fornitore.PersonaRiferimento.ContoCorrente = coord.NormalizzaContoCorrente(contoCorrente.Value.ToString());
         Fornitore.PersonaRiferimento.Cin = coord.CalcolaCin();
         Fornitore.PersonaRiferimento.Iban = coord.CalcolaIBAN();
         iban.Leave += ibanLeave;
     }
 }
コード例 #3
0
        private bool insert(DatiBancariDTO dto, out DatiBancariCondomini item)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
            bool result;

            try
            {
                var abiCab = daoFactory.GetAbiCabDao().GetByAbiCab(dto.Abi, dto.Cab);
                if (abiCab != null)
                {
                    item = new DatiBancariCondomini(dto.Iban, daoFactory.GetCondominioDao().GetById(dto.IdCondominio, false))
                    {
                        Abi = dto.Abi,
                        Cab = dto.Cab,
                        Cin = dto.Cin,
                        ContoCorrente = dto.ContoCorrente.Truncate(50),
                        DataValidita = dto.DataValidita,
                        Iban = dto.Iban.Truncate(27),
                        Note = dto.Note.Truncate(50),
                        Principale = dto.Principale
                    };

                    if (string.IsNullOrEmpty(item.Iban) && !string.IsNullOrEmpty(item.Abi) && !string.IsNullOrEmpty(item.Cab) && !string.IsNullOrEmpty(item.ContoCorrente))
                    {
                        var coord = new CoordinateBancarie();
                        try
                        {
                            coord.Abi = item.Abi;
                            coord.Cab = item.Cab;
                            coord.ContoCorrente = item.ContoCorrente;
                            item.Iban = coord.CalcolaIBAN();
                            item.ContoCorrente = coord.ContoCorrente;
                        }
                        catch (Exception ex)
                        {
                            _log.WarnFormat("Errore inaspettato nel calcolo dell'IBAN - {0} - id:{1} - abi:{2} - cab:{3} - c/c:{4}", ex, Utility.GetMethodDescription(), dto.ID, dto.Abi, dto.Cab, dto.ContoCorrente);
                        }

                        if (string.IsNullOrEmpty(item.Cin))
                        {
                            try
                            {
                                item.Cin = coord.CalcolaCin();
                            }
                            catch (Exception ex)
                            {
                                _log.WarnFormat("Errore inaspettato nel calcolo del CIN - {0} - id:{1} - abi:{2} - cab:{3} - c/c:{4}", ex, Utility.GetMethodDescription(), dto.ID, dto.Abi, dto.Cab, dto.ContoCorrente);
                            }
                        }
                    }

                    daoFactory.GetDatiBancariCondominiDao().SaveOrUpdate(item);

                    // Aggiungo ABI e CAB tra i preferiti
                    try
                    {
                        if (item.CondominioRiferimento != null && item.CondominioRiferimento.Azienda != null)
                        {
                            var abicabPref = daoFactory.GetAbiCabPreferitoDao().GetByAbiCab(item.Abi, item.Cab, item.CondominioRiferimento.Azienda.ID);
                            if (abicabPref == null)
                            {
                                var abicab = daoFactory.GetAbiCabDao().Find(new AbiCabId(item.Abi, item.Cab), false);
                                if (abicab != null)
                                {
                                    abicabPref = new AbiCabPreferito(abicab, item.CondominioRiferimento.Azienda);
                                    daoFactory.GetAbiCabPreferitoDao().SaveOrUpdate(abicabPref);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        _log.WarnFormat("Errore nell'inserimento di ABI e CAB preferito - {0} - id:{1} - abi:{2} - cab:{3} - c/c:{4}", ex, Utility.GetMethodDescription(), dto.ID, dto.Abi, dto.Cab, dto.ContoCorrente);
                    }

                }
                else
                {
                    _log.ErrorFormat("Non trovato ABI CAB - {0} - abi:{1} - cab:{2}", Utility.GetMethodDescription(), dto.Abi, dto.Cab);
                    item = null;
                    return false;
                }

                result = true;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento dei dati bancari - {0} - id:{1} - abi:{2} - cab:{3} - c/c:{4}", ex, Utility.GetMethodDescription(), dto.ID, dto.Abi, dto.Cab, dto.ContoCorrente);
                throw;
            }

            return result;
        }
コード例 #4
0
        private void listaBancheAfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
        {
            if (getAbiCabService().IsValidableIBAN())
            {
                var datiBancariDTO = (DatiBancariDTO)e.Cell.Row.ListObject;

                if (datiBancariDTO != null)
                {
                    // ----------------------------------------------------------
                    // Decodifica ABI
                    // ----------------------------------------------------------
                    if (e.Cell.Value != null && e.Cell.Column.Key == "DescrizioneAbi")
                    {
                        if (Utility.IsInteger(e.Cell.Value.ToString()))
                        {
                            string abi = e.Cell.Value.ToString().PadLeft(5, '0');
                            if (!string.IsNullOrEmpty(abi))
                            {
                                var abiDTO = getAbiCabService().GetAbiByCodice(abi);
                                if (abiDTO != null)
                                {
                                    datiBancariDTO.Abi = abi;
                                    datiBancariDTO.DescrizioneAbi = abiDTO.Codice + " - " + abiDTO.Descrizione;
                                }

                                if (!string.IsNullOrEmpty(datiBancariDTO.Cab))
                                {
                                    var cabDTO = getAbiCabService().GetCabByCodice(datiBancariDTO.Abi, datiBancariDTO.Cab);
                                    if (cabDTO != null)
                                    {
                                        datiBancariDTO.Cab = datiBancariDTO.Cab;
                                        datiBancariDTO.DescrizioneCab = cabDTO.DescrizioneCabCompleta;
                                    }
                                }
                            }
                        }
                        else
                            return;
                    }

                    // ----------------------------------------------------------
                    // Decodifica CAB
                    // ----------------------------------------------------------
                    if (e.Cell.Column.Key == "DescrizioneCab")
                    {
                        if (e.Cell.Value != null && Utility.IsInteger(e.Cell.Value.ToString()))
                        {
                            var cab = e.Cell.Value.ToString().PadLeft(5, '0');
                            if (!string.IsNullOrEmpty(cab))
                            {
                                var cabDTO = getAbiCabService().GetCabByCodice(datiBancariDTO.Abi, cab);
                                if (cabDTO != null)
                                {
                                    datiBancariDTO.Cab = cab;
                                    datiBancariDTO.DescrizioneCab = cabDTO.DescrizioneCabCompleta;
                                }
                            }
                        }
                        else
                            return;
                    }

                    // ----------------------------------------------------------
                    // Calcolo IBAN e CIN
                    // ----------------------------------------------------------
                    if (e.Cell.Column.Key == "DescrizioneAbi" || e.Cell.Column.Key == "DescrizioneCab" || e.Cell.Column.Key == "ContoCorrente")
                    {
                        if (!string.IsNullOrEmpty(datiBancariDTO.Abi) &&
                            !string.IsNullOrEmpty(datiBancariDTO.Cab) &&
                            !string.IsNullOrEmpty(datiBancariDTO.ContoCorrente))
                        {
                            var coor = new CoordinateBancarie
                            {
                                Abi = datiBancariDTO.Abi,
                                Cab = datiBancariDTO.Cab,
                                ContoCorrente = datiBancariDTO.ContoCorrente
                            };
                            coor.Cin = coor.CalcolaCin();

                            datiBancariDTO.Cin = coor.Cin;
                            datiBancariDTO.Iban = coor.CalcolaIBAN();
                        }
                    }

                    // ----------------------------------------------------------
                    // Calcolo ABI, CAB, ContoCorrente e CIN
                    // ----------------------------------------------------------
                    if (e.Cell.Column.Key == "Iban")
                    {
                        if (!string.IsNullOrEmpty(datiBancariDTO.Iban))
                        {
                            var coor = new CoordinateBancarie();
                            coor.SetIBAN(datiBancariDTO.Iban);

                            datiBancariDTO.Abi = coor.Abi;
                            datiBancariDTO.Cab = coor.Cab;
                            datiBancariDTO.ContoCorrente = coor.ContoCorrente;
                            datiBancariDTO.Cin = coor.Cin;

                            var cabDTO = getAbiCabService().GetCabByCodice(datiBancariDTO.Abi, datiBancariDTO.Cab);
                            if (cabDTO != null)
                            {
                                datiBancariDTO.DescrizioneAbi = cabDTO.DescrizioneAbiCompleta;
                                datiBancariDTO.DescrizioneCab = cabDTO.DescrizioneCabCompleta;
                            }
                        }
                    }
                }
            }
        }
コード例 #5
0
ファイル: MavCBIService.cs プロジェクト: gipasoft/Sfera
        // 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;
            }
        }