private PagamentoSpesaDTO setRiscossioneSpesaDto(Riscossione item)
        {
            try
            {
                var dto = new PagamentoSpesaDTO
                {
                    ID = item.ID,
                    Importo = item.Importo,
                    Version = item.Version
                };

                if (item.ScadenzaRiferimento != null)
                    dto.IdScadenzaFattura = item.ScadenzaRiferimento.ID;

                if (item.MovimentoContabile != null)
                {
                    dto.Data = item.MovimentoContabile.Testata.DataRegistrazione;
                    if (item.MovimentoContabile.ContoRiferimento != null)
                        dto.Conto = item.MovimentoContabile.ContoRiferimento.Descrizione;
                    else
                        _log.WarnFormat("Trovato movimento senza conto - {0} - idMovimento:{1} - idRiscossione:{2}", Library.Utility.GetMethodDescription(), item.MovimentoContabile.ID, item.ID);

                    if (item.MovimentoContabile.SottoContoRiferimento != null)
                        dto.SottoConto = item.MovimentoContabile.SottoContoRiferimento.GetDescrizione(item.MovimentoContabile.Testata.EsercizioRiferimento, null, item.MovimentoContabile);
                    else if (item.MovimentoContabile.ContoCorrenteBancario != null)
                        dto.SottoConto = item.MovimentoContabile.ContoCorrenteBancario.DisplayName;
                }

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella creazione dell'istanza DTO - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), item.ID);
                throw;
            }
        }
        private PagamentoSpesaDTO setSpesaDto(Pagamento item)
        {
            try
            {
                var dto = new PagamentoSpesaDTO
                {
                    ID = item.ID,
                    Data = item.Data,
                    CodiceConfermaBonifico = item.CodiceConfermaBonifico,
                    Importo = item.Importo,
                    StatoPagamento = item.Stato,
                    Valuta = item.Valuta,
                    Tipo = item.Tipo,
                    Version = item.Version,
                    IdScadenzaFattura = item.ScadenzaRiferimento.ID
                };

                if (item.DisposizioneRiferimento != null)
                {
                    dto.DescrizioneDisposizioneRiferimento = item.DisposizioneRiferimento.Descrizione;
                    dto.IdDisposizioneRiferimento = item.DisposizioneRiferimento.ID;
                }
                if (item.TipoCodiceConfermaBonifico != TipoCodiceEsitoDisposizioneBonifico.Undefined)
                    dto.TipoCodiceConfermaBonifico = item.TipoCodiceConfermaBonifico;

                if (item.MovimentoContabile != null)
                {
                    dto.Conto = item.MovimentoContabile.ContoRiferimento.Descrizione;
                    if (item.MovimentoContabile.SottoContoRiferimento != null)
                        dto.SottoConto = item.MovimentoContabile.SottoContoRiferimento.GetDescrizione(item.MovimentoContabile.Testata.EsercizioRiferimento, null, item.MovimentoContabile);
                    else if (item.MovimentoContabile.ContoCorrenteBancario != null)
                        dto.SottoConto = item.MovimentoContabile.ContoCorrenteBancario.DisplayName;
                }

                if (item.RitenutaAcconto != null)
                {
                    dto.ImportoRitenuta = item.RitenutaAcconto.Importo;
                    dto.StatoRitenuta = item.RitenutaAcconto.Stato;
                    if (item.RitenutaAcconto.TestataRiferimento != null)
                        dto.DataPagamentoRitenuta = item.RitenutaAcconto.TestataRiferimento.Data;
                }

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella creazione dell'istanza DTO - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), item.ID);
                throw;
            }
        }