public List<MovimentiBancariDTO> GetByFilter(MovimentoBancarioFilter filter) { try { var result = GetServiceClient().GetMovimentiByFilter(filter, null, null, false, GetUserInfo()); CloseService(); return result; } catch (CommunicationObjectAbortedException ex) { _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); } catch (CommunicationObjectFaultedException ex) { _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); } catch (IOException ex) { _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); } catch (ObjectDisposedException ex) { _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento degli Abi Cab - {0} - azienda:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); } return new List<MovimentiBancariDTO>(); }
public void LoadData(MovimentoBancarioFilter filter) { var form = new ExecuteLoadDataListAsync<MovimentiBancariDTO>("E' in corso la ricerca dei movimenti bancari ....." + Environment.NewLine + "Si prega di attendere."); Func<List<MovimentiBancariDTO>> loadDati = () => getMovimentoBancarioService().GetByFilter(filter); form.LoadData(loadDati); form.ShowDialog(); loadData(form.DataSourceObject); form.Dispose(); panelButton.Visible = filtroGroup.Visible; SferaServiceProxy.Instance.Close(); }
public DatiCondomini Get([FromUri]SearchCriteria json) { var service = new SferaService(); var info = new UserInfo(0, json.Azienda); var filter = new MovimentoBancarioFilter { IdCondominio = json.Condominio, DataContabileIniziale = json.DataIniziale, DataContabileFinale = json.DataFinale }; var inizio = ((json.PageNumber - 1)*json.PageSize); var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, json.PageSize, true, info); foreach (var movimentiBancariDTO in movimentiBancari) { if (movimentiBancariDTO.Segno == "D") movimentiBancariDTO.Importo = movimentiBancariDTO.Importo*-1; movimentiBancariDTO.Descrizione = movimentiBancariDTO.DescrizioneBreve + movimentiBancariDTO.Descrizione; } var totaleMovimenti = service.GetMovimentiCountByFilter(filter, info); // Saldi var saldiBancari = service.GetSaldiBancariByCondominio(json.Condominio, info); var condominio = service.GetCondominioById(json.Condominio, true, false, info); var saldi = new List<SaldoContoCorrente>(); foreach (var saldoBancarioDTO in saldiBancari) { var idContoCorrente = saldoBancarioDTO.IdContoCorrente; var datiBancari = condominio.DatiBancari.FirstOrDefault(item => item.ID == idContoCorrente); if (datiBancari != null) { var descrizione = datiBancari.DisplayName; var iban = datiBancari.Iban; var importo = saldoBancarioDTO.SaldoContabileBanca; saldi.Add(new SaldoContoCorrente(descrizione, iban, importo.GetValueOrDefault())); } } return new DatiCondomini { MovimentiBancari = movimentiBancari, TotalItems = totaleMovimenti, Saldi = saldi}; }
public static object GetMovimentiBancari(int? numRows, int? page, string sortField, string sortOrder, bool isSearch, string searchField, string searchString, string searchOper, string dataIniziale, string dataFinale, int idAzienda) { if (HttpContext.Current.Session["condomino"] != null) { var service = new SferaService(); var info = new UserInfo(0, idAzienda); var condomino = (SoggettoCondominioDTO) HttpContext.Current.Session["condomino"]; var filter = new MovimentoBancarioFilter { IdCondominio = condomino.IdCondominio, DataContabileIniziale = GetDataIniziale(), DataContabileFinale = GetDataFinale() }; if (isSearch) { switch (searchField) { case "Descrizione": filter.Descrizione = searchString; break; case "DescrizioneCausale": filter.DescrizioneCausale = searchString; break; } } if (!string.IsNullOrEmpty(dataIniziale)) filter.DataContabileIniziale = DateTime.Parse(dataIniziale); if (!string.IsNullOrEmpty(dataFinale)) filter.DataContabileFinale = DateTime.Parse(dataFinale); var inizio = (page*numRows) - numRows; var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, numRows, true, info).OrderBy(item => item.DataContabile).ThenBy(item => item.ID).ToList(); switch (sortField) { case "DataContabile": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.DataContabile).ToList() : movimentiBancari.OrderByDescending(item => item.DataContabile).ToList(); break; case "Importo": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.Importo).ToList() : movimentiBancari.OrderByDescending(item => item.Importo).ToList(); break; case "DescrizioneCausale": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.Causale).ToList() : movimentiBancari.OrderByDescending(item => item.Causale).ToList(); break; case "Descrizione": movimentiBancari = sortOrder == "asc" ? movimentiBancari.OrderBy(item => item.DescrizioneBreve).ToList() : movimentiBancari.OrderByDescending(item => item.DescrizioneBreve). ToList(); break; } //--- format json var pageIndex = page ?? 1; //--- current page var pageSize = numRows ?? 10; //--- number of rows to show per page var totalRecords = service.GetMovimentiCountByFilter(filter, info); //--- number of total items from query var totalPages = (int) Math.Ceiling(totalRecords/(decimal) pageSize); //--- number of pages var jsonData = new { totalpages = totalPages, //--- number of pages page = pageIndex, //--- current page totalrecords = totalRecords, //--- total items rows = ( from row in movimentiBancari select new {i = row.ID, cell = new[] { row.IdentificativoDocumentoSpesa, row.DescrizioneCausale, row.DescrizioneBreve + " " + row.Descrizione, row.DataContabile.GetValueOrDefault().ToShortDateString(), row.Importo.GetValueOrDefault().ToString("c") } }).ToArray() }; return Newtonsoft.Json.JsonConvert.SerializeObject(jsonData); } return null; }
private void btnRicercaClick(object sender, EventArgs e) { // Per Luca è meglio poter vedere tutti i movimenti bancari senza alcun filtro per condominio //if (!validationSummary1.Validators.Contains(condominioRequiredFieldValidator) && (_idFile == null || _idFile <= 0)) // validationSummary1.Validators.Add(condominioRequiredFieldValidator); validationSummary1.Validate(); if (validationSummary1.IsValid) { var filter = new MovimentoBancarioFilter(); if (sceltaCondominioCombo1.CondominioSelected != null) filter.IdCondominio = sceltaCondominioCombo1.CondominioSelected.ID; filter.IdFileCBI = _idFile; if (bonificiAttivi.CheckState != CheckState.Indeterminate) filter.VersamentiMav = bonificiAttivi.Checked; else filter.VersamentiMav = null; if (mavCondomini.CheckState != CheckState.Indeterminate) filter.VersamentiCondomini = mavCondomini.Checked; else filter.VersamentiCondomini = null; if (evasi.CheckState != CheckState.Indeterminate) filter.Evasi = evasi.Checked; else filter.Evasi = null; if (importoDa.Value != 0) filter.ImportoIniziale = importoDa.Value; if (importoA.Value != 0) filter.ImportoFinale = importoA.Value; filter.DataContabileIniziale = (DateTime?)dataContabileIniziale.Value; filter.DataContabileFinale = (DateTime?)dataContabileFinale.Value; LoadData(filter); } else validationSummary1.ShowErrorSummary(); }
public List<MovimentiBancariDTO> GetMovimentiDaEvadere(MovimentoBancarioFilter filter) { var movimentiBancariService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IMovimentiBancariService>(); var movimenti = movimentiBancariService.GetDaEvadere(filter); var movimentiDto = new List<MovimentiBancariDTO>(movimenti.Count); foreach (var movimento in movimenti) { var movimentoDto = GetByDomainEntity(movimento); if (movimento.Segno == "D") movimentoDto.Importo = movimentoDto.Importo * -1; movimentiDto.Add(movimentoDto); } return movimentiDto; }
private HqlFilter getHqlFromFilter(MovimentoBancarioFilter filter) { try { var hql = "FROM MovimentoBancario M LEFT JOIN FETCH M.Banca B LEFT JOIN FETCH B.CondominioRiferimento C LEFT JOIN FETCH M.Esercizio E LEFT JOIN FETCH M.Fornitore FO LEFT JOIN FETCH M.File FILECBI WHERE FILECBI.Azienda = :azienda"; var whereClause = new StringBuilder(string.Empty); var parameters = new List<QueryParam> { new QueryParam("azienda", _info.Azienda) }; if (!string.IsNullOrEmpty(filter.Descrizione)) { whereClause.Append(" AND M.Descrizione LIKE :descrizione "); parameters.Add(new QueryParam("descrizione", "%" + filter.Descrizione + "%")); } if (!string.IsNullOrEmpty(filter.DescrizioneCausale)) { whereClause.Append(" AND M.Causale = :causale "); parameters.Add(new QueryParam("causale", filter.DescrizioneCausale)); } if (filter.Evasi != null) { if (filter.Evasi.Value) { whereClause.Append(" AND M.Stato = :stato "); parameters.Add(new QueryParam("stato", Conversione.ToHQLParameter(StatoMovimentoBancarioEnum.Contabilizzato))); } else { whereClause.Append(" AND M.Stato <> :stato "); parameters.Add(new QueryParam("stato", Conversione.ToHQLParameter(StatoMovimentoBancarioEnum.Contabilizzato))); } } if (filter.VersamentiCondomini != null) { if (!filter.VersamentiCondomini.Value) { whereClause.Append(" AND M.Causale <> :causaleVersamentiCondomini "); parameters.Add(new QueryParam("causaleVersamentiCondomini", "56")); } else { whereClause.Append(" AND M.Causale = :causaleVersamentiCondomini "); parameters.Add(new QueryParam("causaleVersamentiCondomini", "56")); } } if (filter.IdFileCBI != null) { whereClause.Append(" AND FILECBI = :filecbi"); parameters.Add(new QueryParam("filecbi", filter.IdFileCBI)); } if (filter.IdEvasioneBancaria != null) { whereClause.Append(" AND M.EvasioneBancaria = :evasioneBancaria"); parameters.Add(new QueryParam("evasioneBancaria", filter.IdEvasioneBancaria.Value)); } if (filter.IdCondominio != null) { whereClause.Append(" AND C.ID = :condominio"); parameters.Add(new QueryParam("condominio", filter.IdCondominio)); } if (filter.ImportoIniziale != null) { whereClause.Append(" AND M.Importo >= :importoIniziale"); parameters.Add(new QueryParam("importoIniziale", filter.ImportoIniziale)); } if (filter.ImportoFinale != null) { whereClause.Append(" AND M.Importo <= :importoFinale"); parameters.Add(new QueryParam("importoFinale", filter.ImportoFinale)); } if (filter.DataContabileIniziale != null) { whereClause.Append(" AND M.DataContabile >= :dataIniziale"); parameters.Add(new QueryParam("dataIniziale", filter.DataContabileIniziale.Value)); } if (filter.DataContabileFinale != null) { whereClause.Append(" AND M.DataContabile <= :dataFinale"); parameters.Add(new QueryParam("dataFinale", filter.DataContabileFinale.Value)); } if (filter.VersamentiMav != null) { whereClause.Append(!filter.VersamentiMav.Value ? " AND M.Causale <> :causaleVersamentiMav" : " AND M.Causale = :causaleVersamentiMav"); parameters.Add(new QueryParam("causaleVersamentiMav", "48")); } if (filter.TipoPagamento != null) { if (filter.TipoPagamento.Value == TipoPagamentoEnum.RitenutaAcconto) { whereClause.Append(" AND M.Causale = :causalePagamentoDelega"); parameters.Add(new QueryParam("causalePagamentoDelega", "19")); } } hql += whereClause + " ORDER BY M.DataContabile"; return new HqlFilter(hql, parameters); } catch (Exception ex) { _log.ErrorFormat("Errore nella composizione della stringa HQL - {0}", ex, Utility.GetMethodDescription()); throw; } }
public int GetMovimentiCountByFilter(MovimentoBancarioFilter filter, int azienda) { try { const string hql = "SELECT count(M) FROM MovimentoBancario M WHERE M.Banca.CondominioRiferimento = :condominio AND M.DataContabile >= :dataIniziale AND M.DataContabile <= :dataFinale"; var parameters = new[] { new QueryParam("condominio", filter.IdCondominio.GetValueOrDefault()), new QueryParam("dataIniziale", filter.DataContabileIniziale.GetValueOrDefault()), new QueryParam("dataFinale", filter.DataContabileFinale.GetValueOrDefault()) }; return Convert.ToInt32(_daoFactory.GetMovimentoBancarioDao().GetUniqueResult(hql, parameters)); } catch (Exception ex) { _log.Error("Errore nel conteggio dei movimenti bancari per filter - " + Utility.GetMethodDescription() + " - filter:" + filter, ex); throw; } }
public List<MovimentiBancariDTO> GetMovimentiByFilter(MovimentoBancarioFilter filter, int? inizio, int? numeroRighe, bool loadIdentificativoArchiviazione, int azienda) { List<MovimentiBancariDTO> movimentiDto = null; try { var hqlFilter = getHqlFromFilter(filter); IList<MovimentoBancario> movimenti; if(numeroRighe.GetValueOrDefault() > 0) movimenti = _daoFactory.GetMovimentoBancarioDao().GetByQuery(hqlFilter.Hql, inizio.GetValueOrDefault(), numeroRighe.GetValueOrDefault(), hqlFilter.Parameters.ToArray()); else movimenti = _daoFactory.GetMovimentoBancarioDao().GetByQuery(hqlFilter.Hql, hqlFilter.Parameters.ToArray()); movimentiDto = new List<MovimentiBancariDTO>(movimenti.Count); movimentiDto.AddRange(movimenti.Select(movimentoBancario => setDto(movimentoBancario, loadIdentificativoArchiviazione))); } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento dei movimenti bancari - {0} - filter:{1}", ex, Utility.GetMethodDescription(), filter); } return movimentiDto; }
public IList<MovimentoBancario> GetDaEvadere(MovimentoBancarioFilter filter) { var where = new StringBuilder(); var hql = "FROM MovimentoBancario B LEFT JOIN FETCH B.File FILECBI LEFT JOIN FETCH B.Banca BANCA LEFT JOIN FETCH B.Fornitore FOR LEFT JOIN FETCH FOR.PersonaRiferimento PERS LEFT JOIN FETCH PERS.IndirizzoResidenza.Comune COM LEFT JOIN FETCH B.Condominio COND LEFT JOIN FETCH B.Esercizio ESE WHERE B.Stato <> :stato "; var parameters = new List<QueryParam> { new QueryParam("stato", Conversione.ToHQLParameter(StatoMovimentoBancarioEnum.Contabilizzato)) }; if (filter.VersamentiCondomini != null) { if (!filter.VersamentiCondomini.Value) { where.Append(" AND B.Causale <> :causaleVersamentiCondomini "); parameters.Add(new QueryParam("causaleVersamentiCondomini", "56")); } else { where.Append(" AND B.Causale = :causaleVersamentiCondomini "); parameters.Add(new QueryParam("causaleVersamentiCondomini", "56")); } } if (filter.VersamentiMav != null) { var causaliBonificiAttivi = new List<string> {"48", "56"}; parameters.Add(new QueryParam("causaliBonificiAttivi", causaliBonificiAttivi)); where.Append(!filter.VersamentiMav.Value ? " AND B.Causale NOT IN (:causaliBonificiAttivi) " : " AND B.Causale IN (:causaliBonificiAttivi) "); } // Filtri di ricerca if (filter.IdCondominio != null) { where.Append(" AND COND = :condominio"); parameters.Add(new QueryParam("condominio", filter.IdCondominio.Value)); } hql += where.ToString(); return _daoFactory.GetMovimentoBancarioDao().GetByQuery(hql, parameters.ToArray()); }
public List<MovimentiBancariDTO> GetMovimentiDaEvadere(MovimentoBancarioFilter filter, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new MovimentoBancarioRepository(userinfo, windsorRep); var item = rep.GetMovimentiDaEvadere(filter); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda); windsorRep.Rollback(); throw; } }
public List<MovimentiBancariDTO> GetMovimentiByFilter(MovimentoBancarioFilter filter, int? inizio, int? numeroRighe, bool loadIdentificativoArchiviazione, UserInfo userinfo) { var retryCount = 10; var success = false; var windsorRep = new WindsorConfigRepository(); List<MovimentiBancariDTO> item = null; while (retryCount >= 0 && !success) { try { windsorRep.BeginTransaction(userinfo); var rep = new MovimentoBancarioRepository(userinfo, windsorRep); item = rep.GetMovimentiByFilter(filter, inizio, numeroRighe, loadIdentificativoArchiviazione, userinfo.Azienda); windsorRep.Commit(); success = true; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - TENTATIVO:{0} - {1} - numeroRighe:{2} - azienda:{3} - number:{4}", ex, (11 - retryCount), Utility.GetMethodDescription(), numeroRighe, userinfo.Azienda, getExceptionId(ex)); windsorRep.Rollback(); if (!isRetryException(ex)) throw; // Add delay here if you wish. System.Threading.Thread.Sleep(1000 * (11 - retryCount)); retryCount--; _log.InfoFormat("Esecuzione della funzione - INIZIO TENTATIVO:{0} - {1} - {2}", (11 - retryCount), Utility.GetMethodDescription(), userinfo.Azienda); } } if (!success) windsorRep.Rollback(); return item; }
public List<MovimentiBancariDTO> GetDaEvadere(MovimentoBancarioFilter filter) { var result = GetServiceClient().GetMovimentiDaEvadere(filter, GetUserInfo()); CloseService(); return result; }
private MatchDataSource loadDataSource() { try { if (_condominio != null) { var contoBancario = _pianoContiService.GetBancarioByCondominio(_condominio); if (contoBancario != null) { // Filter movimenti contabili var filterMovimenti = new MovimentoContabileFilter { CodiceCondominio = _condominio.ID, IdConto = contoBancario.ID, VersamentiMav = versamentiMav.Checked }; if (versamentiMav.CheckState != CheckState.Indeterminate) filterMovimenti.VersamentiMav = versamentiMav.Checked; else filterMovimenti.VersamentiMav = null; // Filter movimenti bancari var filterMovimentiBancari = new MovimentoBancarioFilter { IdCondominio = _condominio.ID }; if (versamentiMav.CheckState != CheckState.Indeterminate) filterMovimentiBancari.VersamentiMav = versamentiMav.Checked; else filterMovimentiBancari.VersamentiMav = null; return new MatchDataSource(_movimentoContabileService.GetListaDaEvadereByFilter(filterMovimenti), _movimentoBancarioService.GetDaEvadere(filterMovimentiBancari)); } else { CommonMessages.DisplayWarning("Non trovato nessun conto bancario"); } _log.ErrorFormat("Non trovato conto bancario - {0} - condominio:{1} - azienda:{2}", Utility.GetMethodDescription(), _condominio.ID, Security.Login.Instance.CurrentLogin().Azienda); } } catch (Exception ex) { _log.ErrorFormat("Errore nel load del datasource - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), _condominio != null ? _condominio.ID.ToString() : "<NULL>", Security.Login.Instance.CurrentLogin().Azienda); } return new MatchDataSource(new List<MovimentoContabileListaDTO>(), new List<MovimentiBancariDTO>()); }
public void LoadData(MovimentoBancarioFilter filter) { _control.LoadData(filter); }