private MovimentoContabileListaDTO setListaDto(MovimentoContabile item, bool importiNegativi, IArchiviazioneOtticaService archiviazioneService) { try { var dto = new MovimentoContabileListaDTO { ID = item.ID, IdTestata = item.Testata.ID, Data = item.Testata.DataRegistrazione.GetValueOrDefault(), Causale = item.Causale.DescrizioneCompleta, IdCondominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.ID, Condominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.DisplayName, IdEsercizio = item.Testata.EsercizioRiferimento.ID, Esercizio = item.Testata.EsercizioRiferimento.DisplayName, IdConto = item.ContoRiferimento.ID, Conto = item.ContoRiferimento.Descrizione, TipoConto = item.ContoRiferimento.Tipo.ToString(), Descrizione = item.GetDescrizione(), Importo = !importiNegativi ? item.GetImportoSenzaSegno() : item.GetImportoConSegno(), ImportoResiduoEvasione = item.GetImportoSenzaSegno(), Stato = item.Stato }; if(item.ImportoEvasioneTransitorio != null) dto.ImportoResiduoEvasione -= item.ImportoEvasioneTransitorio; dto.Segno = item.Segno; dto.Note = item.Note; dto.NumeroRegistrazione = item.NumeroRegistrazione; dto.NumeroAssegno = item.NumeroAssegno; dto.NumeroRiga = item.NumeroRiga; if (item.EvasioneBancaria != null) dto.IdEvasioneBancaria = item.EvasioneBancaria.ID; if (item.FornitoreRiferimento != null) { dto.IdFornitore = item.FornitoreRiferimento.ID; dto.Nominativo = item.FornitoreRiferimento.DisplayName; } if (item.CondominoRiferimento != null) { dto.IdCondomino = item.CondominoRiferimento.ID; dto.Nominativo = item.CondominoRiferimento.Persona.DisplayName; } if(item.DettaglioRiferimento != null) dto.IdDettaglio = item.DettaglioRiferimento.ID; if (item.SottoContoRiferimento != null) { dto.IdSottoConto = item.SottoContoRiferimento.ID; dto.SottoConto = item.SottoContoRiferimento.GetDescrizione(item.Testata.EsercizioRiferimento, null, item); } else if (item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoBancario() && item.ContoCorrenteBancario != null) { dto.IdSottoConto = item.ContoCorrenteBancario.ID * -1; dto.SottoConto = item.ContoCorrenteBancario.DisplayName; } else if (item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoFornitori() && item.FornitoreRiferimento != null) { dto.IdSottoConto = item.FornitoreRiferimento.ID * -1; dto.SottoConto = item.FornitoreRiferimento.DisplayName; } var spesaRiferimento = item.Testata.SpesaRiferimento; if (spesaRiferimento == null && item.DettaglioRiferimento != null) spesaRiferimento = item.DettaglioRiferimento.SpesaRiferimento; // ============================================================================================= // Commentato rendeva troppo lenta la ricerca dei movimenti - bugid#2967 // ============================================================================================= //if(spesaRiferimento == null) //{ // Pagamento pagamento = null; // if(pagamenti == null) // pagamento = daoFactory.GetPagamentoDao().GetByMovimentoContabile(item); // else // pagamento = pagamenti.FirstOrDefault(itemPagamento => itemPagamento.MovimentoContabile != null && itemPagamento.MovimentoContabile.ID == item.ID); // if (pagamento != null) // spesaRiferimento = pagamento.ScadenzaRiferimento.SpesaRiferimento; //} // ============================================================================================= if (spesaRiferimento != null) { dto.IdSpesa = spesaRiferimento.ID; dto.NumeroProtocollo = spesaRiferimento.NumeroProtocollo; dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(spesaRiferimento, true); dto.StatoSpesa = spesaRiferimento.Stato; dto.TipoDocumentoSpesa = spesaRiferimento.TipoDocumento; } else { dto.NumeroProtocollo = item.Testata.NumeroProtocollo; if (dto.NumeroProtocollo > 0) dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(item.Testata); else if (item.DettaglioRiferimento != null && item.DettaglioRiferimento.SpesaRiferimento != null) dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(item.DettaglioRiferimento.SpesaRiferimento, true); } dto.IsAllowOpenDettaglio = item.Testata.NumeroProtocollo > 0 || dto.IdSpesa > 0; return dto; } catch (Exception ex) { if (item != null) { _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - id:" + item.ID, ex); } else { _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - Movimento --> null", ex); } throw; } }
private MovimentoContabileGenericoDTO setGenericoDto(MovimentoContabile item) { try { var dto = new MovimentoContabileGenericoDTO { ID = item.ID, IdTestata = item.Testata.ID, IdEsercizio = item.Testata.EsercizioRiferimento.ID, IdCondominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.ID, IdConto = item.ContoRiferimento.ID, Note = item.Note, NumeroRiga = item.NumeroRiga, NumeroRegistrazione = item.NumeroRegistrazione, NumeroAssegno = item.NumeroAssegno, Segno = item.Segno, Descrizione = item.Descrizione }; // Importo switch (item.Segno) { case "D": dto.ImportoDare = item.GetImportoSenzaSegno(); break; case "A": dto.ImportoAvere = item.GetImportoSenzaSegno(); break; } // SottoConto if (item.SottoContoRiferimento != null) dto.IdSottoConto = item.SottoContoRiferimento.ID; else if (item.ContoCorrenteBancario != null) dto.IdSottoConto = item.ContoCorrenteBancario.ID * -1; else if ((item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoFornitori() || item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoRitenuta()) && item.FornitoreRiferimento != null) dto.IdSottoConto = item.FornitoreRiferimento.ID * -1; // Soggetti if (item.FornitoreRiferimento != null) dto.IdFornitore = item.FornitoreRiferimento.ID; if (item.CondominoRiferimento != null) dto.IdCondomino = item.CondominoRiferimento.ID; // Spesa if (item.Testata.SpesaRiferimento != null) { dto.IdSpesa = item.Testata.SpesaRiferimento.ID; dto.StatoSpesa = item.Testata.SpesaRiferimento.Stato; dto.TipoDocumentoSpesa = item.Testata.SpesaRiferimento.TipoDocumento; } // Evasione Bancaria if (item.EvasioneBancaria != null) dto.IdEvasioneBancaria = item.EvasioneBancaria.ID; dto.IsAllowOpenDettaglio = item.Testata.NumeroProtocollo > 0 || dto.IdSpesa > 0; return dto; } catch (Exception ex) { if (item != null) { _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - id:" + item.ID, ex); } else { _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - Movimento --> null", ex); } throw; } }