public UserControl GetControl(DocumentoFilter filter)
 {
     _control = new RicercaDocumentiUC();
     _control.SetSelect();
     _control.LoadData(filter);
     return _control;
 }
        public SelezioneDocumentiAllegatiUI(DocumentoFilter filterDocumenti)
        {
            InitializeComponent();
            inizializza();

            _filterDocumenti = filterDocumenti;
        }
Esempio n. 3
0
        public DatiCondomini Get([FromUri]SearchCriteria json)
        {
            if (json.Condominio > 0)
            {
                var service = new SferaService();
                var info = new UserInfo(0, json.Azienda);

                var filter = new DocumentoFilter
                {
                    IdAzienda = json.Azienda,
                    CodiceCondominio = json.Condominio,
                    FreeText = json.FreeText,
                    PageNumber = json.PageNumber,
                    PageSize = json.PageSize,
                    Tipo = TipoDocumentoArchiviazione.Contratto,
                    VisibileCondomino = true,
                    CodiceFascicoloCondominio = json.IdFascicolo > 0 ? json.IdFascicolo : (int?)null
                };
                var documenti = service.GetDocumentiPubbliciByFilter(filter, info);

                var fascicoli = service.GetFascicoliNameValueConDocumentiPubbliciByCondominio(json.Condominio, info);
                fascicoli.Insert(0, new NameValueDTO<int, string>(0, "(Tutti i fascicoli)"));

                return new DatiCondomini { Documenti = documenti.Documenti, Fascicoli = fascicoli, TotalItems = documenti.TotaleDocumenti };
            }

            return new DatiCondomini();
        }
Esempio n. 4
0
        public DialogResult OpenDialogFormTestoMessaggioPersone(IList<PersonaContattoDTO> personeSelezionate, string contattoMittente, ParametriStampaUnione parametriLettera, string nomeFile, DocumentoFilter filterDocumenti, bool sceltaModello)
        {
            DialogResult result;
            using (var form = new TestoMessaggioPersoneUI(personeSelezionate, contattoMittente, parametriLettera, sceltaModello, _manageDocumentService, _modelloLetteraService))
            {
                result = form.ShowDialog();

                _modelloLettera = form.GetModelloLettera();
                _emailRapportino = form.GetEmailRapportino();
                _testoMessaggio = form.GetTestoMessaggio();
                _oggettoMessaggio = form.GetOggetto();
                _invioVeloce = form.GetInvioVeloce();
                _messageType = form.GetMessageType();
                _colore = form.GetColore();
                _apriFile = form.GetApriFile();
                _aggregazione = form.GetAggregazioneDocumenti();
                _formatoDocumento = form.GetFormatoDocumento();
                _accodaMessaggio = form.GetAccodaMessaggio();
                _numeraPagine = form.GetNumeraPagine();
                _fronteRetro = form.GetFronteRetro();
                _primaPaginaMittente = form.GetPrimaPaginaMittente();
                _mittente = form.GetMittente();
                _tipoMessaggio = form.GetTipoMessaggio();
                _documenti = form.GetDocumenti();
                _documentiNew = form.GetDocumentiNew();
                _personeSelezionate = form.GetPersoneSelezionate();
                _parametriInvioLettera = new ParametriInvioLettera { Tipo = form.GetMessageType() };
                _aggiornaContatti = false;

            }
            Application.DoEvents();
            return result;
        }
Esempio n. 5
0
        private void btnConfermaClick(object sender, EventArgs e)
        {
            int? codiceCondominio = null;
            if(sceltaCondominioCombo1.CondominioSelected != null)
                codiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID;

            int? idEsercizio = null;
            if (esercizi.Value != null)
                idEsercizio = (int?)esercizi.Value;

            int? codiceFornitore = null;
            if(sceltaFornitoreCombo1.SelectedFornitore != null)
                codiceFornitore = sceltaFornitoreCombo1.SelectedFornitore.ID;

            TipoDocumentoArchiviazione? tipoDoc;
            switch (tipo.Value as string)
            {
                case "FP":
                    tipoDoc = TipoDocumentoArchiviazione.FatturaPassiva;
                    break;
                case "CO":
                    tipoDoc = TipoDocumentoArchiviazione.Contratto;
                    break;
                default:
                    tipoDoc = null;
                    break;
            }

            var filter = new DocumentoFilter
            {
                CodiceCondominio = codiceCondominio,
                CodiceEsercizio = idEsercizio,
                CodiceFornitore = codiceFornitore,
                CodiceFascicoloImmobiliare = (int?)fascicoloImmobiliare.Value,
                DataFatturaIniziale = (DateTime?)dataFatturaIniziale.Value,
                DataFatturaFinale = (DateTime?)dataFatturaFinale.Value,
                NumeroFattura = numeroFattura.Text,
                Detrazione = Convert.ToInt32((double?)detrazione.Value),
                ImportoMinimo = importoIniziale.Value,
                ImportoMassimo = importoFinale.Value,
                Tipo = tipoDoc,
                FreeText = testo.Text
            };

            if (filter.DataFatturaFinale == null && filter.DataFatturaIniziale != null)
                filter.DataFatturaFinale = filter.DataFatturaIniziale;

            var form = new ExecuteLoadDataListAsync<DocumentoDTO>("E' in corso la ricerca dei documenti ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<DocumentoDTO>> loadDati = () => getDocumentoService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            listaDocumentiUC1.LoadData(form.DataSourceObject);
            form.Dispose();
        }
Esempio n. 6
0
        public void LoadData(DocumentoFilter filter)
        {
            if (filter.CodiceCondominio > 0)
            {
                _condominiLoaded = true;
                sceltaCondominioCombo1.LoadData();
                sceltaCondominioCombo1.SetCondominioInitial(filter.CodiceCondominio.GetValueOrDefault());
            }

            if (filter.CodiceEsercizio.GetValueOrDefault() > 0)
            {
                esercizi.Value = filter.CodiceEsercizio.GetValueOrDefault();
            }

            if (filter.CodiceFornitore > 0)
            {
                _fornitoriLoaded = true;
                sceltaFornitoreCombo1.LoadData();
                sceltaFornitoreCombo1.SetFornitoreInitial(filter.CodiceFornitore.GetValueOrDefault());
            }

            if (filter.CodiceFascicoloImmobiliare > 0)
                fascicoloImmobiliare.Value = filter.CodiceFascicoloImmobiliare.GetValueOrDefault();

            if (filter.DataFatturaIniziale != null)
                dataFatturaIniziale.DateTime = filter.DataFatturaIniziale.GetValueOrDefault();
            if (filter.DataFatturaFinale != null)
                dataFatturaFinale.DateTime = filter.DataFatturaFinale.GetValueOrDefault();

            if (filter.Detrazione != null)
                detrazione.Value = filter.Detrazione.GetValueOrDefault();

            testo.Text = filter.FreeText;

            //if(filter.CodiceCondominio > 0 || filter.CodiceFascicoloImmobiliare > 0 || filter.CodiceFornitore > 0 || filter.DataFattura != null || filter.Detrazione > 0 || !string.IsNullOrEmpty(filter.FreeText))
            //    listaDocumentiUC1.LoadData(getDocumentoService().GetByFilter(filter));
        }
Esempio n. 7
0
 public List<DocumentoDTO> GetByFilter(DocumentoFilter filter)
 {
     filter.IdAzienda = Login.Instance.CurrentLogin().Azienda;
     var result = GetServiceClient().GetDocumentiByFilter(filter, GetUserInfo());
     CloseService();
     return result.Documenti;
 }
Esempio n. 8
0
        public ResultDocumenti GetDocumentiByFilter(DocumentoFilter filter)
        {
            var documenti = new List<Documento>();
            var totaleDocumenti = 0;

            // =================================
            // Documenti
            // =================================
            if (filter.Tipo == null || filter.Tipo.GetValueOrDefault() == TipoDocumentoArchiviazione.Contratto)
            {
                var hql = "FROM Documento DOC LEFT JOIN FETCH DOC.CondominioRiferimento COND LEFT JOIN FETCH DOC.ContrattoRiferimento CONT LEFT JOIN FETCH DOC.AttivitaRiferimento ATT LEFT JOIN FETCH ATT.PraticaRiferimento PRAT LEFT JOIN FETCH DOC.FornitoreRiferimento FORN LEFT JOIN FETCH FORN.PersonaRiferimento PERS LEFT JOIN FETCH DOC.Fascicoli FASC WHERE DOC.Azienda = :azienda ";
                var parameters = new List<QueryParam> {new QueryParam("azienda", filter.IdAzienda)};

                if (!string.IsNullOrEmpty(filter.FreeText))
                {
                    hql += " AND (COND.Descrizione LIKE :freeText OR DOC.Tipo LIKE :freeText OR DOC.FileName LIKE :freeText OR DOC.Descrizione LIKE :freeText OR PERS.RagioneSociale LIKE :freeText OR PERS.Cognome LIKE :freeText OR PERS.Nome LIKE :freeText) ";
                    parameters.Add(new QueryParam("freeText", "%" + filter.FreeText + "%"));
                }

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

                if (filter.CodiceFornitore != null)
                {
                    hql += " AND DOC.FornitoreRiferimento.ID = :fornitore ";
                    parameters.Add(new QueryParam("fornitore", filter.CodiceFornitore));
                }

                if (filter.CodiceFascicoloImmobiliare != null)
                {
                    var fasc = _daoFactory.GetFascicoloImmobiliareDao().GetById(filter.CodiceFascicoloImmobiliare.Value, false);
                    hql += " AND DOC.Tipo LIKE :tipo ";
                    parameters.Add(new QueryParam("tipo", "%" + fasc.Descrizione + "%"));
                }

                if (filter.CodiceFascicoloCondominio != null)
                {
                    hql += " AND FASC = :fascicolo ";
                    parameters.Add(new QueryParam("fascicolo", filter.CodiceFascicoloCondominio));
                }

                if (filter.IdPratica != null)
                {
                    hql += " AND PRAT = :pratica ";
                    parameters.Add(new QueryParam("pratica", filter.IdPratica.Value));
                }

                if (filter.VisibileCondomino != null)
                {
                    hql += " AND DOC.VisibileCondomino = :visibileCondomino ";
                    parameters.Add(new QueryParam("visibileCondomino", filter.VisibileCondomino.Value));
                }

                if (filter.PageNumber == 0 || filter.PageSize == 0)
                {
                    var docContratti = _daoFactory.GetDocumentoDao().GetByQuery(hql, parameters.ToArray());
                    documenti.AddRange(docContratti);
                    totaleDocumenti += docContratti.Count;
                }
                else
                {
                    var startIndex = ((filter.PageNumber - 1) * filter.PageSize);
                    documenti.AddRange(_daoFactory.GetDocumentoDao().GetByQuery(hql, startIndex, filter.PageSize, parameters.ToArray()));
                    var numeroDocumenti = Convert.ToInt32(_daoFactory.GetDocumentoDao().GetUniqueResult(string.Format("SELECT COUNT(DOC) FROM Documento DOC WHERE DOC.ID IN (SELECT DOC.ID {0})", hql.Replace("FETCH", string.Empty)), parameters.ToArray()));
                    totaleDocumenti += numeroDocumenti;
                }
            }

            // =================================
            //  Fatture
            // =================================
            if (filter.Tipo == null || filter.Tipo.GetValueOrDefault() == TipoDocumentoArchiviazione.FatturaPassiva)
            {
                var hql = "FROM Spesa S LEFT JOIN FETCH S.TestateMovimenti TES LEFT JOIN FETCH TES.Movimenti MOV LEFT JOIN FETCH S.Dettagli DETT WHERE S.EsercizioRiferimento.CondominioRiferimento.Azienda.ID = :azienda AND S.DataDocumento is not null AND S.IsAbilitataArchiviazioneOttica = 1 AND S.NumeroProtocollo > 0 ";
                var parameters = new List<QueryParam> {new QueryParam("azienda", filter.IdAzienda)};

                if (!string.IsNullOrEmpty(filter.FreeText))
                {
                    hql += " AND (S.EsercizioRiferimento.CondominioRiferimento.Descrizione LIKE :freeText OR MOV.Descrizione LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.RagioneSociale LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.Cognome LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.Nome LIKE :freeText OR DETT.Descrizione LIKE :freeText) ";
                    parameters.Add(new QueryParam("freeText", "%" + filter.FreeText + "%"));
                }

                if (filter.CodiceCondominio != null)
                {
                    hql += " AND S.EsercizioRiferimento.CondominioRiferimento.ID = :condominio ";
                    parameters.Add(new QueryParam("condominio", filter.CodiceCondominio));
                }

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

                if (filter.CodiceFornitore != null)
                {
                    hql += " AND S.FornitoreRiferimento.ID = :fornitore ";
                    parameters.Add(new QueryParam("fornitore", filter.CodiceFornitore));
                }

                if (!string.IsNullOrEmpty(filter.NumeroFattura))
                {
                    hql += " AND S.NumeroDocumento = :numeroDocumento ";
                    parameters.Add(new QueryParam("numeroDocumento", filter.NumeroFattura));
                }

                if (filter.DataFatturaIniziale != null)
                {
                    hql += " AND S.DataDocumento >= :dataDocumentoIniziale ";
                    parameters.Add(new QueryParam("dataDocumentoIniziale", filter.DataFatturaIniziale));
                }
                if (filter.DataFatturaFinale != null)
                {
                    hql += " AND S.DataDocumento <= :dataDocumentoFinale ";
                    parameters.Add(new QueryParam("dataDocumentoFinale", filter.DataFatturaFinale));
                }

                if (filter.Detrazione > 0)
                {
                    hql += " AND S.Detrazione = :detrazione ";
                    parameters.Add(new QueryParam("detrazione", filter.Detrazione));
                }

                if (filter.ImportoMinimo > 0)
                {
                    hql += " AND DETT.ImportoLordo >= :importoMinimo ";
                    parameters.Add(new QueryParam("importoMinimo", filter.ImportoMinimo));
                }

                if (filter.ImportoMassimo > 0)
                {
                    hql += " AND DETT.ImportoLordo <= :importoMassimo ";
                    parameters.Add(new QueryParam("importoMassimo", filter.ImportoMassimo));
                }

                var spese = _daoFactory.GetSpesaDao().GetByQuery(hql, parameters.ToArray());
                documenti.AddRange(spese.Select(spesa => new Documento(spesa.NumeroProtocollo.GetValueOrDefault(), "Fattura", false, spesa.EsercizioRiferimento.CondominioRiferimento.Azienda)
                {
                    ID = 0, SpesaRiferimento = spesa, IdentificativoArchiviazioneOttica = _archiviazioneService.GetIdentificativoArchiviazione(spesa, false), FileName = _archiviazioneService.GetIdentificativoArchiviazione(spesa), FileExtension = "Archiva", FornitoreRiferimento = spesa.FornitoreRiferimento, CondominioRiferimento = spesa.EsercizioRiferimento.CondominioRiferimento, Descrizione = "Fattura: " + spesa.NumeroDocumento + " del " + spesa.DataDocumento.GetValueOrDefault().ToShortDateString() + " - " + spesa.FornitoreRiferimento.DisplayName, Checksum = spesa.DataDocumento.GetValueOrDefault().Year.ToString(), Data = spesa.DataInserimento, DataInserimento = spesa.DataInserimento
                }));

                // ----------------------------------------------------------
                // Documenti legati a fatture senza archiviazione ottica
                // ----------------------------------------------------------
                //var hqlDoc = "FROM Documento DOC JOIN FETCH DOC.SpesaRiferimento S LEFT JOIN FETCH S.TestateMovimenti TES LEFT JOIN FETCH TES.Movimenti MOV LEFT JOIN FETCH S.Dettagli DETT WHERE S.EsercizioRiferimento.CondominioRiferimento.Azienda.ID = :azienda AND S.DataDocumento is not null AND S.IsAbilitataArchiviazioneOttica = 1 AND S.NumeroProtocollo > 0 ";
                var hqlDoc = "FROM Documento DOC JOIN FETCH DOC.SpesaRiferimento S LEFT JOIN FETCH S.TestateMovimenti TES LEFT JOIN FETCH TES.Movimenti MOV LEFT JOIN FETCH S.Dettagli DETT WHERE S.EsercizioRiferimento.CondominioRiferimento.Azienda.ID = :azienda AND S.DataDocumento is not null ";
                var parametersDoc = new List<QueryParam> { new QueryParam("azienda", filter.IdAzienda) };

                if (!string.IsNullOrEmpty(filter.FreeText))
                {
                    hqlDoc += " AND (S.EsercizioRiferimento.CondominioRiferimento.Descrizione LIKE :freeText OR MOV.Descrizione LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.RagioneSociale LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.Cognome LIKE :freeText OR S.FornitoreRiferimento.PersonaRiferimento.Nome LIKE :freeText OR DETT.Descrizione LIKE :freeText) ";
                    parametersDoc.Add(new QueryParam("freeText", "%" + filter.FreeText + "%"));
                }

                if (filter.CodiceCondominio != null)
                {
                    hqlDoc += " AND S.EsercizioRiferimento.CondominioRiferimento.ID = :condominio ";
                    parametersDoc.Add(new QueryParam("condominio", filter.CodiceCondominio));
                }

                if (filter.CodiceFornitore != null)
                {
                    hqlDoc += " AND S.FornitoreRiferimento.ID = :fornitore ";
                    parametersDoc.Add(new QueryParam("fornitore", filter.CodiceFornitore));
                }

                if (!string.IsNullOrEmpty(filter.NumeroFattura))
                {
                    hqlDoc += " AND S.NumeroDocumento = :numeroDocumento ";
                    parametersDoc.Add(new QueryParam("numeroDocumento", filter.NumeroFattura));
                }

                if (filter.DataFatturaIniziale != null)
                {
                    hqlDoc += " AND S.DataDocumento >= :dataDocumentoIniziale ";
                    parametersDoc.Add(new QueryParam("dataDocumentoIniziale", filter.DataFatturaIniziale));
                }
                if (filter.DataFatturaFinale != null)
                {
                    hqlDoc += " AND S.DataDocumento <= :dataDocumentoFinale ";
                    parametersDoc.Add(new QueryParam("dataDocumentoFinale", filter.DataFatturaFinale));
                }

                if (filter.Detrazione > 0)
                {
                    hqlDoc += " AND S.Detrazione = :detrazione ";
                    parametersDoc.Add(new QueryParam("detrazione", filter.Detrazione));
                }

                if (filter.ImportoMinimo > 0)
                {
                    hqlDoc += " AND DETT.ImportoLordo >= :importoMinimo ";
                    parametersDoc.Add(new QueryParam("importoMinimo", filter.ImportoMinimo));
                }

                if (filter.ImportoMassimo > 0)
                {
                    hqlDoc += " AND DETT.ImportoLordo <= :importoMassimo ";
                    parametersDoc.Add(new QueryParam("importoMassimo", filter.ImportoMassimo));
                }

                if (filter.PageNumber == 0 || filter.PageSize == 0)
                {
                    var docFatture = _daoFactory.GetDocumentoDao().GetByQuery(hqlDoc, parametersDoc.ToArray());
                    documenti.AddRange(docFatture);
                    totaleDocumenti += docFatture.Count;
                }
                else
                {
                    var startIndex = ((filter.PageNumber - 1)*filter.PageSize);
                    documenti.AddRange(_daoFactory.GetDocumentoDao().GetByQuery(hqlDoc, startIndex, filter.PageSize, parametersDoc.ToArray()));

                    var numeroDocumenti = Convert.ToInt32(_daoFactory.GetDocumentoDao().GetUniqueResult(string.Format("SELECT COUNT(DOC) FROM Documento DOC WHERE DOC.ID IN (SELECT DOC.ID {0})", hqlDoc.Replace("FETCH", string.Empty)), parameters.ToArray()));
                    totaleDocumenti += numeroDocumenti;

                }
            }

            return new ResultDocumenti(documenti, totaleDocumenti);
        }
Esempio n. 9
0
        public ResultDocumentiDTO GetDocumentiPubbliciByFilter(DocumentoFilter filter)
        {
            try
            {
                var service = _windsorRepository.GetContainer(_info.Azienda).Resolve<IRicercaDocumentiService>();
                var lista = service.GetDocumentiByFilter(filter);
    
                var documenti = new List<DocumentoDTO>(lista.Documenti.Count);
                documenti.AddRange(lista.Documenti.Select(SetDto));

                return new ResultDocumentiDTO(documenti, lista.TotaleDocumenti);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel caricamento dei documenti per filtro - {0} - azienda:{1}", ex, Library.Utility.GetMethodDescription(), _info.Azienda);
                throw;
            }
        }
Esempio n. 10
0
		public ResultDocumentiDTO GetDocumentiByFilter(DocumentoFilter filter, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IRicercaDocumentiService>();
				var lista = service.GetDocumentiByFilter(filter);
				var listaDto = new List<DocumentoDTO>(lista.Documenti.Count);
				var rep = new DocumentoRepository(userinfo, windsorRep);
				foreach (var doc in lista.Documenti)
				{
					try
					{
						listaDto.Add(rep.GetByDomainEntity(doc));
					}
					catch (Exception ex)
					{
						_log.ErrorFormat("Errore durante la lettura dei documenti per filtro - {0} - id:{1}", ex, Utility.GetMethodDescription(), doc.ID);
						throw;
					}
				}

				windsorRep.Commit();

                return new ResultDocumentiDTO(listaDto, lista.TotaleDocumenti);
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore durante la lettura dei documenti per filtro - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), filter.CodiceCondominio);
				windsorRep.Rollback();
				throw;
			}
		}
Esempio n. 11
0
 public ResultDocumentiDTO GetDocumentiPubbliciByFilter(DocumentoFilter filter, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var repo = new DocumentoRepository(userinfo, windsorRep);
         var item = repo.GetDocumentiPubbliciByFilter(filter);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento dei documenti - {0} - azienda:{2}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
         windsorRep.Rollback();
         throw;
     }
 }