Exemplo n.º 1
0
        public IList<MovimentoContabile> GetDaEvadereByFilter(MovimentoContabileFilter filter)
        {
            var hql = "FROM MovimentoContabile MOV LEFT JOIN FETCH MOV.Testata TEST LEFT JOIN FETCH TEST.EsercizioRiferimento ESE LEFT JOIN FETCH ESE.CondominioRiferimento COND LEFT JOIN FETCH MOV.FornitoreRiferimento FOR LEFT JOIN FETCH FOR.PersonaRiferimento PERSFOR LEFT JOIN FETCH PERSFOR.IndirizzoResidenza.Comune COMFOR LEFT JOIN FETCH MOV.CondominoRiferimento SOGG LEFT JOIN FETCH SOGG.Persona PERSCOND LEFT JOIN FETCH MOV.Causale CAU LEFT JOIN FETCH MOV.ContoCorrenteBancario BANCA WHERE TEST.AperturaBilancio = 0 AND TEST.AperturaChiusuraConti = 0 AND (MOV.Stato = :stato1 OR MOV.Stato = :stato2) ";
            var parameters = new List<QueryParam>
            {
                new QueryParam("stato1", Conversione.ToHQLParameter(StatoMovimentoContabileEnum.Inserito)),
                new QueryParam("stato2", Conversione.ToHQLParameter(StatoMovimentoContabileEnum.ParzialmenteEvaso))
            };

            if (filter.CodiceCondominio != null)
            {
                hql += " AND COND = :condominio";
                parameters.Add(new QueryParam("condominio", filter.CodiceCondominio.Value));
            }

            if (filter.CodiceEsercizio != null)
            {
                hql += " AND ESE = :esercizio";
                parameters.Add(new QueryParam("esercizio", filter.CodiceEsercizio.Value));
            }

            if (filter.CodiceFornitore != null)
            {
                hql += " AND FOR = :fornitore";
                parameters.Add(new QueryParam("fornitore", filter.CodiceFornitore.Value));
            }
            
            if (filter.CodiceCausale != null)
            {
                hql += " AND CAU = :causale";
                parameters.Add(new QueryParam("causale", filter.CodiceCausale.Value));
            }

            if (filter.IdConto != null)
            {
                hql += " AND MOV.ContoRiferimento = :conto";
                parameters.Add(new QueryParam("conto", filter.IdConto));
            }

            if (filter.IdSottoconto != null)
            {
                hql += " AND MOV.SottoContoRiferimento = :sottoconto";
                parameters.Add(new QueryParam("sottoconto", filter.IdSottoconto));
            }

            if (filter.ImportoIniziale != null)
            {
                hql += " AND MOV.Importo >= :importoIniziale";
                parameters.Add(new QueryParam("importoIniziale", filter.ImportoIniziale.Value));
            }

            if (filter.ImportoFinale != null)
            {
                hql += " AND MOV.Importo <= :importoFinale";
                parameters.Add(new QueryParam("importoFinale", filter.ImportoFinale.Value));
            }

            return _daoFactory.GetMovimentoContabileDao().GetByQuery(hql, parameters.ToArray());        
        }
 public void LoadData(MovimentoContabileFilter filter)
 {
     _listaMovimentiUC.LoadData(_condominio, _esercizio, filter);
 }
Exemplo n.º 3
0
        public IList<MovimentoContabile> GetByFilter(MovimentoContabileFilter filter)
        {
            var hql = "FROM MovimentoContabile MOV LEFT JOIN FETCH MOV.Testata TEST LEFT JOIN FETCH TEST.EsercizioRiferimento ESE LEFT JOIN FETCH ESE.CondominioRiferimento COND LEFT JOIN FETCH MOV.ContoRiferimento CONTO LEFT JOIN FETCH MOV.SottoContoRiferimento SOT LEFT JOIN FETCH MOV.FornitoreRiferimento FOR LEFT JOIN FETCH MOV.CondominoRiferimento SOGG LEFT JOIN FETCH SOGG.Persona PERS LEFT JOIN FETCH MOV.Causale CAU LEFT JOIN FETCH MOV.DettaglioRiferimento DETT LEFT JOIN FETCH DETT.SpesaRiferimento SPE WHERE TEST.EsercizioRiferimento.CondominioRiferimento.Azienda = :azienda";
            var parameters = new List<QueryParam> {new QueryParam("azienda", filter.CodiceAzienda)};

            Conto conto = null;
            if (filter.IdConto != null)
                conto = _daoFactory.GetContoDao().Find(filter.IdConto.GetValueOrDefault(), false);

            if (conto != null && conto.Codice == _pianoContiService.GetCodiceContoFornitori() && filter.IdSottoconto != null && filter.IdSottoconto.GetValueOrDefault() < 0)
            {
                filter.CodiceFornitore = filter.IdSottoconto.GetValueOrDefault() * -1;
                filter.IdSottoconto = null;
            }

            if (filter.CodiceCondominio != null)
            {
                hql += " AND COND = :condominio";
                parameters.Add(new QueryParam("condominio", filter.CodiceCondominio.Value));
            }

            if (filter.CodiceEsercizio != null)
            {
                hql += " AND ESE = :idEsercizio";
                parameters.Add(new QueryParam("idEsercizio", filter.CodiceEsercizio.Value));
            }

            if(filter.CodiceAnnoGestionale != null)
            {
                var annoGestionale = _daoFactory.GetAnnoGestionaleDao().Find(filter.CodiceAnnoGestionale.Value, false);
                if (annoGestionale != null)
                {
                    hql += " AND ((ESE.Gestione = :ordinario AND ESE.AnnoGestionale = :anno) OR (ESE.Gestione = :straordinario AND TEST.DataRegistrazione >= :dataIniziale AND TEST.DataRegistrazione <= :dataFinale))";
                    parameters.Add(new QueryParam("anno", filter.CodiceAnnoGestionale.Value));
                    parameters.Add(new QueryParam("ordinario", Conversione.ToHQLParameter(GestioneEsercizioEnum.Ordinario)));
                    parameters.Add(new QueryParam("straordinario", Conversione.ToHQLParameter(GestioneEsercizioEnum.Straordinario)));
                    parameters.Add(new QueryParam("dataIniziale", annoGestionale.EsercizioOrdinario.DataApertura));
                    parameters.Add(new QueryParam("dataFinale", annoGestionale.EsercizioOrdinario.DataChiusura));
                }
            }

            if (filter.CodiceFornitore != null)
            {
                hql += " AND FOR = :fornitore";
                parameters.Add(new QueryParam("fornitore", filter.CodiceFornitore.Value));
            }
            
            if (filter.CodiceCausale != null)
            {
                hql += " AND CAU = :causale";
                parameters.Add(new QueryParam("causale", filter.CodiceCausale.Value));
            }

            if (filter.IdConto != null)
            {
                hql += " AND CONTO = :conto";
                parameters.Add(new QueryParam("conto", filter.IdConto));
            }

            if (filter.IdSottoconto != null)
            {
                hql += " AND SOT = :sottoconto";
                parameters.Add(new QueryParam("sottoconto", filter.IdSottoconto));
            }

            if (filter.ImportoIniziale != null)
            {
                hql += " AND MOV.Importo >= :importoIniziale";
                parameters.Add(new QueryParam("importoIniziale", filter.ImportoIniziale.Value));
            }

            if (filter.ImportoFinale != null)
            {
                hql += " AND MOV.Importo <= :importoFinale";
                parameters.Add(new QueryParam("importoFinale", filter.ImportoFinale.Value));
            }

            if (filter.Stato != null)
            {
                hql += " AND MOV.Stato = :stato";
                parameters.Add(new QueryParam("stato", Conversione.ToHQLParameter(filter.Stato)));
            }

            if (filter.CodiceEvasioneBancaria != null)
            {
                hql += " AND MOV.EvasioneBancaria = :evasioneBancaria";
                parameters.Add(new QueryParam("evasioneBancaria", filter.CodiceEvasioneBancaria.Value));
            }

            hql += " ORDER BY TEST.DataRegistrazione";

            return _daoFactory.GetMovimentoContabileDao().GetByQuery(hql, parameters.ToArray());        
        }
        public List<MovimentoContabileListaDTO> GetListaByFilter(MovimentoContabileFilter filter)
        {
            var archiviazioneService = _windsorConfigRepository.GetContainer(_info.Azienda).Resolve<IArchiviazioneOtticaService>();

            var movimentoContabileService = _windsorConfigRepository.GetContainer(_info.Azienda).Resolve<IMovimentiContabiliService>();
            var movimenti = movimentoContabileService.GetByFilter(filter);

            var movimentiDto = new List<MovimentoContabileListaDTO>(movimenti.Count);
            var progressivo = 0m;
            foreach (var item in movimenti)
            {
                var dto = setListaDto(item, false, archiviazioneService);
                var importo = item.Importo.GetValueOrDefault();
                if (item.Segno == "A")
                    importo = importo * -1;
                progressivo += importo;
                dto.ImportoProgressivo += progressivo;
                movimentiDto.Add(dto);
            }

            return movimentiDto;
        }
        public List<MovimentoContabileListaDTO> GetListaDaEvadereByFilter(MovimentoContabileFilter filter)
        {
            var archiviazioneService = _windsorConfigRepository.GetContainer(_info.Azienda).Resolve<IArchiviazioneOtticaService>();

            var daoFactory = _windsorConfigRepository.GetContainer(_info.Azienda).Resolve<IDaoFactory>();
            var movimentoContabileService = _windsorConfigRepository.GetContainer(_info.Azienda).Resolve<IMovimentiContabiliService>();
            var movimenti = movimentoContabileService.GetDaEvadereByFilter(filter);

            var movimentiDto = new List<MovimentoContabileListaDTO>(movimenti.Count);
            foreach (var movimento in movimenti)
            {
                var allow = true;
                if (filter.VersamentiMav != null)
                {
                    if (movimento.Causale.Codice == "RR")
                    {
                        var versamento = daoFactory.GetVersamentoSoggettoDao().GetByMovimentoContabile(movimento);
                        if (versamento != null)
                        {
                            if (versamento.File != null)
                            {
                                if (!filter.VersamentiMav.GetValueOrDefault())
                                    allow = false;
                            }
                            else
                            {
                                if (filter.VersamentiMav.GetValueOrDefault())
                                    allow = false;
                            }
                        }
                    }
                }

                if(allow)
                    movimentiDto.Add(setListaDto(movimento, true, archiviazioneService));
            }

            return movimentiDto;
        }
Exemplo n.º 6
0
        private void btnRicercaClick(object sender, EventArgs e)
        {
            try
            {
                validationSummary1.Validate();
                if (validationSummary1.IsValid)
                {
                    var filtered = false;
                    var filter = new MovimentoContabileFilter();
                    if (_condominio != null)
                    {
                        filter.CodiceCondominio = _condominio.ID;
                        filtered = true;
                    }
                    if (_esercizio != null)
                    {
                        filter.CodiceEsercizio = _esercizio.ID;
                        filtered = true;
                    }
                    if (annoGestionale.SelectedItem != null)
                    {
                        filter.CodiceAnnoGestionale = (int)annoGestionale.Value;
                        filtered = true;
                    }
                    if (conti.SelectedItem != null && conti.SelectedItem.ListObject is ContoDTO && ((ContoDTO) conti.SelectedItem.ListObject).ID > 0)
                    {
                        filter.IdConto = ((ContoDTO) conti.SelectedItem.ListObject).ID;
                        filtered = true;
                    }
                    if (sottoconti.SelectedItem != null && sottoconti.SelectedItem.ListObject is SottoContoDTO && ((SottoContoDTO) sottoconti.SelectedItem.ListObject).ID != 0)
                    {
                        filter.IdSottoconto = ((SottoContoDTO) sottoconti.SelectedItem.ListObject).ID;
                        filtered = true;
                    }
                    filter.ImportoIniziale = importoIniziale.Value;
                    if (filter.ImportoIniziale == 0)
                        filter.ImportoIniziale = null;
                    else
                        filtered = true;
                    filter.ImportoFinale = importoFinale.Value;
                    if (filter.ImportoFinale == 0)
                        filter.ImportoFinale = null;
                    else
                        filtered = true;

                    // TODO: Può essere tolto se si passa a SqlServer 2008
                    if (filtered)
                    {
                        listaMovimentiUC1.LoadData(_condominio, _esercizio, filter);
                        listaMovimentiUC1.Visible = true;
                    }
                    else
                        CommonMessages.DisplayWarning(string.Format("Per eseguire la ricerca dei movimenti occorre inserire almeno un valore di filtro.{0}Correggere e riprovare.", Environment.NewLine));
                }
                else
                    validationSummary1.ShowErrorSummary();
            }
            catch (Exception)
            {
                
                if (_condominio != null)
                    _log.Error("Errore nella ricerca dei movimenti contabili - " + Utility.GetMethodDescription() + " - condominio:" + _condominio.ID + " - azienda:" + Login.Instance.CurrentLogin().Azienda);
                else
                    _log.Error("Errore nella ricerca dei movimenti contabili - " + Utility.GetMethodDescription() + " - condominio:NULL - azienda:" + Login.Instance.CurrentLogin().Azienda);

                throw;
            }
        }
Exemplo n.º 7
0
        public void LoadData(CondominioDTO condominio, EsercizioDTO esercizio, MovimentoContabileFilter filter)
        {
            _condominio = condominio;
            _esercizio = esercizio;
            _filter = filter;

            var form = new ExecuteLoadDataListAsync<MovimentoContabileListaDTO>("E' in corso la ricerca dei movimenti ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MovimentoContabileListaDTO>> loadDati = () => getMovimentoContabileService().GetListaByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            movimentoContabileListaDTOBindingSource.DataSource = form.DataSourceObject;
            form.Dispose();

            if (listaMovimenti.DisplayLayout.Bands[0].Summaries.Count == 0)
            {
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "Importo", "c");
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "ImportoDare", "c");
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "ImportoAvere", "c");
            }

            listaMovimenti.DisplayLayout.Bands[0].Columns["SelectColumn"].Hidden = true;
            listaMovimenti.PerformAction(UltraGridAction.FirstRowInBand);

            listaMovimenti.DisplayLayout.Bands[0].RowEditTemplate = ultraGridRowEditTemplate1;
            SferaServiceProxy.Instance.Close();
        }
 public List<MovimentoContabileListaDTO> GetListaDaEvadereByFilter(MovimentoContabileFilter filter)
 {
     filter.CodiceAzienda = Login.Instance.CurrentLogin().Azienda;
     var result = GetServiceClient().GetMovimentiContabiliListaDaEvadereByFilter(filter, GetUserInfo());
     CloseService();
     return result;
 }
        public List<MovimentoContabileListaDTO> GetListaByFilter(MovimentoContabileFilter filter)
        {
            try
            {
                filter.CodiceAzienda = Login.Instance.CurrentLogin().Azienda;
                var result = GetServiceClient().GetMovimentiContabiliListaByFilter(filter, GetUserInfo());
                CloseService();
                return result;
            }
            catch (CommunicationObjectAbortedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (CommunicationObjectFaultedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (IOException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (ObjectDisposedException ex)
            {
                _log.DebugFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella chiamata al servizio - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }

            return new List<MovimentoContabileListaDTO>();
        }
Exemplo n.º 10
0
		public List<MovimentoContabileListaDTO> GetMovimentiContabiliListaDaEvadereByFilter(MovimentoContabileFilter filter, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new MovimentoContabileRepository(userinfo, windsorRep);
                var item = repo.GetListaDaEvadereByFilter(filter);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dei movimenti contabili - {0} - esercizio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), filter.CodiceEsercizio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Exemplo n.º 11
0
		public List<MovimentoContabileListaDTO> GetMovimentiContabiliListaByFilter(MovimentoContabileFilter filter, UserInfo userinfo)
		{
            var retryCount = 5;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new List<MovimentoContabileListaDTO>();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var repo = new MovimentoContabileRepository(userinfo, windsorRep);
                    item = repo.GetListaByFilter(filter);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella lettura dei movimenti contabili - TENTATIVO:{0} - {1} - esercizio:{2} - azienda:{3} - number:{4}", ex, (6 - retryCount), Utility.GetMethodDescription(), filter.CodiceEsercizio, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (6 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Lettura dei movimenti contabili - INIZIO TENTATIVO:{0} - {1} - esercizio:{2} - azienda:{3}", (6 - retryCount), Utility.GetMethodDescription(), filter.CodiceEsercizio, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
Exemplo n.º 12
0
        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>());
        }