public List<FileCBIListaDTO> GetByFilter(FileCbiFilter filter)
 {
     filter.IdAzienda = Login.Instance.CurrentLogin().Azienda;
     var result = GetServiceClient().GetFileCBIByFilter(filter, GetUserInfo());
     CloseService();
     return result;
 }
예제 #2
0
        public void LoadData()
        {
            var filter = new FileCbiFilter
            {
                Descrizione = descrizione.Text,
                DataIniziale = (DateTime?) dataPagamentoIniziale.Value,
                DataFinale = (DateTime?) dataPagamentoFinale.Value
            };

            var form = new ExecuteLoadDataListAsync<FileCBIListaDTO>("E' in corso la ricerca dei file caricati ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<FileCBIListaDTO>> loadDati = () => getElaborazioneFileCBIService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            fileCBIListaDTOBindingSource.DataSource = form.DataSourceObject;
            lista.Visible = true;
            form.Dispose();
        }
예제 #3
0
        public IList<FileCBIListaDTO> GetByFilter(FileCbiFilter filter)
        {
            try
            {
                const string sql = "SELECT IdFileCBI AS Id, DataInserimento AS Data, (SELECT COUNT(*) FROM MovimentiBancari WHERE MovimentiBancari.CodiceFileCBI = IdFileCBI) AS NumeroMovimenti, (SELECT COUNT(*) FROM VersamentiSoggetti WHERE VersamentiSoggetti.CodiceFileCBI = IdFileCBI) AS NumeroVersamenti FROM FileCBI AS CBI WHERE CBI.CodiceAziendaFileCBI = :azienda {0} ORDER BY CBI.DataInserimento";
                var parameters = new List<QueryParam> { new QueryParam("azienda", filter.IdAzienda) };

                var whereString = string.Empty;
                if (!string.IsNullOrEmpty(filter.Descrizione))
                {
                    whereString += " AND CONVERT(NVARCHAR, DataInserimento, 10) LIKE :descrizione";
                    parameters.Add(new QueryParam("descrizione", "%" + filter.Descrizione + "%"));
                }
                if (filter.DataIniziale != null)
                {
                    whereString += " AND CBI.DataInserimento >= :dataIniziale";
                    parameters.Add(new QueryParam("dataIniziale", filter.DataIniziale.Value));
                }
                if (filter.DataFinale != null)
                {
                    whereString += " AND CBI.DataInserimento <= :dataFinale";
                    parameters.Add(new QueryParam("dataFinale", filter.DataFinale.Value));
                }

                var lista = _daoFactory.GetFileCBIDao().GetBySQLQuery(string.Format(sql, whereString), parameters.ToArray());
                var filesDto = new List<FileCBIListaDTO>(lista.Count);
                filesDto.AddRange(from object[] valori in lista select new FileCBIListaDTO((int)valori[0], (DateTime)valori[1], (int)valori[2], (int)valori[3]));
                return filesDto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella lettura dei file CBI caricati - {0} - descrizione:{1} - dataIniziale:{2} - dataFinale:{3} - azienda:{4}", ex, Utility.GetMethodDescription(), filter.Descrizione, filter.DataIniziale.GetValueOrDefault().ToShortDateString(), filter.DataFinale.GetValueOrDefault(), filter.IdAzienda);
                throw;
            }
        }
예제 #4
0
        public IList<FileCBIListaDTO> GetFileCBIByFilter(FileCbiFilter filter, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var elaborazioneCbi = windsorRep.GetContainer(userinfo.Azienda).Resolve<IElaborazioneCBI>();
                var item = elaborazioneCbi.GetByFilter(filter);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nella lettura dei file CBI per azienda - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
				throw;
			}
		}