Exemplo n.º 1
0
        private RitenutaAccontoDTO setDto(Ritenuta item)
        {
            try
            {
                if (item != null)
                {
                    var dto = new RitenutaAccontoDTO
                    {
                        IdPagamento = item.PagamentoRiferimento.ID,
                        CodiceTributo = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.FornitoreRiferimento.CodiceTributo,
                        Fornitore = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.FornitoreRiferimento.DisplayName,
                        Condominio = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.DisplayName,
                        DataDocumento = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.DataDocumento,
                        Archiviazione = getArchiviazioneOtticaService().GetIdentificativoArchiviazione(item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento, true),
                        DataPagamento = item.PagamentoRiferimento.Data,
                        IdCondominio = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.ID,
                        ImportoInteressi = item.ImportoInteressi,
                        ImportoPagamento = item.PagamentoRiferimento.Importo,
                        ImportoRitenuta = item.Importo,
                        ImportoSanzione = item.ImportoSanzione,
                        NumeroDocumento = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.NumeroDocumento,
                        Stato = item.Stato,
                        TipoDocumento = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.TipoDocumento,
                        PeriodoRiferimento = item.GetPeriodoRiferimento(true),
                        DataVersamentoRitenuta = item.DataPagamentoRitenuta.GetValueOrDefault(),
                        Tipo = item.Tipo
                    };

                    var datibancari = item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.DatiBancariPrincipale;
                    if (datibancari != null)
                    {
                        var abi = datibancari.Abi;
                        var cab = datibancari.Cab;
                        var descrizioneAbiCab = Common.BancheHelper.GetAbiCabDescription(datibancari.Abi, datibancari.Cab, WindsorConfigRepository.GetKey(_info.Azienda));
                        if (!string.IsNullOrEmpty(descrizioneAbiCab[0]))
                            abi += " - " + descrizioneAbiCab[0];
                        if (!string.IsNullOrEmpty(descrizioneAbiCab[1]))
                            cab += " - " + descrizioneAbiCab[1];

                        dto.AbiCondominio = abi;
                        dto.CabCondominio = cab;
                    }
                    else
                    {
                        _log.WarnFormat("Condominio senza dati bancari - {0} - idRitenuta:{1} - idCondominio:{2} - azienda:{3}", Library.Utility.GetMethodDescription(), item.PagamentoRiferimento.ID, item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.ID, item.PagamentoRiferimento.ScadenzaRiferimento.SpesaRiferimento.EsercizioRiferimento.CondominioRiferimento.Azienda.ID);
                    }

                    if (item.MovimentoContabilePagamento != null)
                    {
                        dto.IdConto = item.MovimentoContabilePagamento.ContoRiferimento.ID;
                        if (item.MovimentoContabilePagamento.SottoContoRiferimento != null)
                            dto.IdSottoconto = item.MovimentoContabilePagamento.SottoContoRiferimento.ID;
                        else if (item.MovimentoContabilePagamento.ContoCorrenteBancario != null)
                            dto.IdSottoconto = item.MovimentoContabilePagamento.ContoCorrenteBancario.ID * -1;

                    }

                    if (item.TestataRiferimento != null)
                    {
                        dto.DataVersamentoRitenuta = item.TestataRiferimento.Data.GetValueOrDefault();
                        dto.Descrizione = item.TestataRiferimento.Descrizione;
                    }

                    return dto;
                }

                return new RitenutaAccontoDTO();
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella creazione dell'istanza DTO - {0} - id:{1} - azienda:{2}", ex, Library.Utility.GetMethodDescription(), item != null ? item.PagamentoRiferimento.ID.ToString(CultureInfo.InvariantCulture) : "<NULL>", _info.Azienda);
                throw;
            }
        }