public string RistampaModuloPDF(PagamentoRitenutaDTO ritenuta) { var result = GetServiceClient().RistampaModuloPDFFileRitenute(ritenuta.ID, GetUserInfo()); CloseService(); return _manageDocumentService.Open(result, "Ristampa - Modello F24", false, MergeFieldType.Default); }
public IList<PagamentoRitenutaDTO> GetPagamentiGroupByCondominio(PagamentoFilter filter) { try { var hql = new StringBuilder("FROM PagamentoRitenuta PAG LEFT JOIN FETCH PAG.Pagamenti PAGFATT LEFT JOIN FETCH PAGFATT.ScadenzaRiferimento SCAD LEFT JOIN FETCH SCAD.SpesaRiferimento SPE LEFT JOIN FETCH SPE.FornitoreRiferimento FOR LEFT JOIN FETCH SPE.EsercizioRiferimento ESE LEFT JOIN FETCH ESE.CondominioRiferimento COND WHERE PAG.AziendaID = :azienda AND PAG.IsFittizio = :fittizio"); var parameters = new List<QueryParam> { new QueryParam("fittizio", false), new QueryParam("azienda", filter.CodiceAzienda) }; // Fornitore if (filter.CodiceFornitore != null) { hql.Append(" AND FOR = :fornitore"); parameters.Add(new QueryParam("fornitore", filter.CodiceFornitore)); } // Numero Documento if (filter.NumeroDocumento != null) { hql.Append(" AND SPE.NumeroDocumento = :numeroDocumento"); parameters.Add(new QueryParam("numeroDocumento", filter.NumeroDocumento)); } // Data Documento if (filter.DataDocumentoInizio != null) { hql.Append(" AND SPE.DataDocumento >= :dataDocumento"); parameters.Add(new QueryParam("dataDocumento", filter.DataDocumentoInizio.GetValueOrDefault())); } if (filter.DataDocumentoFine != null) { hql.Append(" AND SPE.DataDocumento <= :dataDocumento"); parameters.Add(new QueryParam("dataDocumento", filter.DataDocumentoFine.GetValueOrDefault())); } // Data Pagamento if (filter.DataPagamentoInizio != null) { hql.Append(" AND PAG.Data >= :dataPagamentoIniziale"); parameters.Add(new QueryParam("dataPagamentoIniziale", filter.DataPagamentoInizio.Value)); } if (filter.DataPagamentoFine != null) { hql.Append(" AND PAG.Data <= :dataPagamentoFinale"); parameters.Add(new QueryParam("dataPagamentoFinale", filter.DataPagamentoFine.Value)); } // Condominio if (filter.CodiceCondominio != null) { hql.Append(" AND COND = :condominio"); parameters.Add(new QueryParam("condominio", filter.CodiceCondominio)); } // Importo Pagamento if (filter.ImportoPagamentoInizio != null && filter.ImportoPagamentoInizio > 0) { hql.Append(" AND PAGFATT.RitenutaAcconto.Importo >= :importoInizio"); parameters.Add(new QueryParam("importoInizio", filter.ImportoPagamentoInizio)); } if (filter.ImportoPagamentoFine != null && filter.ImportoPagamentoFine > 0) { hql.Append(" AND PAGFATT.RitenutaAcconto.Importo <= :importoFine"); parameters.Add(new QueryParam("importoFine", filter.ImportoPagamentoFine)); } IEnumerable<PagamentoRitenuta> lista = _daoFactory.GetPagamentoRitenutaDao().GetByQuery(hql.ToString(), parameters.ToArray()).OrderBy(item => item.Data); var listaDto = new List<PagamentoRitenutaDTO>(); foreach (var pagamento in lista) { try { var listaCondominio = from item in pagamento.Pagamenti group item by item.RitenutaAcconto.GetEsercizio() into pagamentiEsercizio select pagamentiEsercizio; foreach (var pagamentiPerEsercizio in listaCondominio) { var pagRitenutaDto = new PagamentoRitenutaDTO { Data = pagamento.Data, Descrizione = pagamento.Descrizione, ID = pagamento.ID, IdAzienda = pagamento.AziendaID.GetValueOrDefault(), ImportoInteressi = pagamento.ImportoInteressi, ImportoRitenuta = pagamento.ImportoRitenuta, ImportoSanzione = pagamento.ImportoSanzione, IsDeleteAllow = pagamento.IsDeleteAllow(), IsFittizio = pagamento.IsFittizio, IdCondominio = pagamentiPerEsercizio.Key.CondominioRiferimento.ID, IdEsercizio = pagamentiPerEsercizio.Key.ID, DescrizioneEsercizio = pagamentiPerEsercizio.Key.DisplayName, DescrizioneCondominio = pagamentiPerEsercizio.Key.CondominioRiferimento.DisplayName, Version = pagamento.Version }; decimal importoRitenuta = 0; decimal importoInteressi = 0; decimal importoSanzione = 0; foreach (var pagEsercizio in pagamentiPerEsercizio) { try { var pagamentoDto = new PagamentoListaRitenutaDTO { ID = pagEsercizio.ID, Importo = pagEsercizio.Importo, IdFattura = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.ID, DataDocumento = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.DataDocumento, NumeroDocumento = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.NumeroDocumento, StatoSpesa = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.Stato, IdScadenzaFattura = pagEsercizio.ScadenzaRiferimento.ID, DescrizioneFornitore = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.FornitoreRiferimento.DisplayName, TipoCodiceConfermaBonifico = pagEsercizio.TipoCodiceConfermaBonifico, CodiceConfermaBonifico = pagEsercizio.CodiceConfermaBonifico, StatoPagamento = pagEsercizio.Stato, ImportoRitenuta = pagEsercizio.RitenutaAcconto.Importo.GetValueOrDefault(), ImportoInteressi = pagEsercizio.RitenutaAcconto.ImportoInteressi.GetValueOrDefault(), ImportoSanzione = pagEsercizio.RitenutaAcconto.ImportoSanzione.GetValueOrDefault(), ImportoTotale = pagEsercizio.RitenutaAcconto.ImportoConInteressi + pagEsercizio.RitenutaAcconto.ImportoSanzione.GetValueOrDefault(), StatoRitenuta = pagEsercizio.RitenutaAcconto.Stato, IsDeleteAllow = pagEsercizio.IsDeleteAllow(), IdCondominio = pagEsercizio.RitenutaAcconto.GetEsercizio().CondominioRiferimento.ID, IdEsercizio = pagEsercizio.RitenutaAcconto.GetEsercizio().ID, TipoDocumentoSpesa = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.TipoDocumento, Version = pagEsercizio.Version, IdentificativoArchiviazione = _archiviazioneOtticaService.GetIdentificativoArchiviazione(pagEsercizio.ScadenzaRiferimento.SpesaRiferimento), CodiceTributo = pagEsercizio.ScadenzaRiferimento.SpesaRiferimento.FornitoreRiferimento.CodiceTributo }; if (pagEsercizio.RitenutaAcconto.MovimentoContabilePagamento != null) { pagamentoDto.IdMovimentoContabilePagamento = pagEsercizio.RitenutaAcconto.MovimentoContabilePagamento.ID; if (pagEsercizio.RitenutaAcconto.MovimentoContabilePagamento.EvasioneBancaria != null) pagamentoDto.IdEvasioneBancaria = pagEsercizio.RitenutaAcconto.MovimentoContabilePagamento.EvasioneBancaria.ID; } importoRitenuta += pagamentoDto.ImportoRitenuta; importoInteressi += pagamentoDto.ImportoInteressi; importoSanzione += pagamentoDto.ImportoSanzione; pagRitenutaDto.Pagamenti.Add(pagamentoDto); } catch (Exception ex) { _log.Fatal("Errore inaspettato durante la letture dei pagamenti delle ritenute (singolo pagamento) - " + Utility.GetMethodDescription() + " - idPagamentoRitenuta" + pagEsercizio.ID + " - idAzienda " + filter.CodiceAzienda, ex); throw; } } pagRitenutaDto.ImportoRitenuta = importoRitenuta; pagRitenutaDto.ImportoInteressi = importoInteressi; pagRitenutaDto.ImportoSanzione = importoSanzione; pagRitenutaDto.ImportoTotale = importoRitenuta + importoInteressi + importoSanzione; listaDto.Add(pagRitenutaDto); } } catch (Exception ex) { _log.Fatal("Errore inaspettato durante la letture dei pagamenti delle ritenute (singola disposizione) - " + Utility.GetMethodDescription() + " - idPagamento" + pagamento.ID + " - idAzienda " + filter.CodiceAzienda, ex); throw; } } return listaDto.OrderBy(item => item.DescrizioneCondominio).ThenBy(item => item.Data).ToList(); } catch (Exception ex) { _log.Fatal("Errore inaspettato durante la letture dei pagamenti delle ritenute - " + Utility.GetMethodDescription() + " - idAzienda " + filter.CodiceAzienda, ex); throw; } }
public string GetContenutoFile(PagamentoRitenutaDTO ritenuta) { if (ritenuta != null) { var result = GetServiceClient().GetContenutoFileRitenute(ritenuta.ID, GetUserInfo()); CloseService(); return result; } return string.Empty; }
//public int? ManageDomainEntity(PianoRatealeDTO dto) //{ // try // { // return this.manage(dto).ID; // } // catch (Exception ex) // { // log4net.MDC.Set("user", Gipasoft.Security.Login.Instance.CurrentLogin().LoginName); // _log.Error("Errore nel caricamento del piano rateale: Gipasoft.Business.Sfera.Repository.PianoRatealeRepository.ManageDomainEntity() - id:" + dto.ID.ToString(), ex); // throw ex; // } //} #endregion Public Methods #region Private Methods private PagamentoRitenutaDTO setDto(PagamentoRitenuta item) { PagamentoRitenutaDTO dto = new PagamentoRitenutaDTO() { Data = item.Data, Descrizione = item.Descrizione, ID = item.ID, IdAzienda = item.AziendaID.GetValueOrDefault(), ImportoInteressi = item.ImportoInteressi, ImportoRitenuta = item.ImportoRitenuta, ImportoSanzione = item.ImportoSanzione, IsDeleteAllow = item.IsDeleteAllow(), Version = item.Version, FrequentlyAccessed = item.FrequentlyAccessed, IsFittizio = item.IsFittizio }; // Dettaglio Pagamenti dto.Pagamenti = new List<PagamentoListaRitenutaDTO>(item.Pagamenti.Count); PagamentoFatturaRepository rep = new PagamentoFatturaRepository(); foreach (Pagamento pagamento in item.Pagamenti) { dto.Pagamenti.Add(rep.GetByDomainEntity(pagamento)); } return dto; }