/// <summary> /// Avvio ricerca fascicoli in base ai dati immessi dall'utente /// </summary> private void Search() { if (this.ValidateFilters()) { // Impostazione filtro corrente FascicoliFilterItem filterItem = this.GetFascicoliFilterItem(); this.FetchFascicoliFilterItem(filterItem); Response.Redirect(EnvironmentContext.RootPath + "Ricerca/EsitoRicercaFascicoli.aspx"); } }
/// <summary> /// Ripristino elementi di filtro in sessione nei campi della UI /// </summary> private void RestoreFilterItems() { FascicoliFilterItem filterItem = this.GetFascicoliFilterItem(); this.txtCodiceTitolario.Text = filterItem.CodiceNodoTitolario; if (filterItem.IDRegistro != string.Empty) { this.cboRegistri.SelectedValue = filterItem.IDRegistro; } this.cboStato.SelectedValue = filterItem.Stato; this.cboTipo.SelectedValue = filterItem.Tipo; if (filterItem.Numero > 0) { this.txtNumero.Text = filterItem.Numero.ToString(); } if (filterItem.Anno > 0) { this.txtAnno.Text = filterItem.Anno.ToString(); } this.RestoreRangeDateFilter(filterItem.DataApertura, this.txtDataAperturaFrom, this.txtDataAperturaTo); this.RestoreRangeDateFilter(filterItem.DataChiusura, this.txtDataChiusuraFrom, this.txtDataChiusuraTo); this.RestoreRangeDateFilter(filterItem.DataCreazione, this.txtDataCreazioneFrom, this.txtDataCreazioneTo); this.RestoreRangeDateFilter(filterItem.DataCollocazione, this.txtDataCollocazioneFrom, this.txtDataCollocazioneTo); this.txtDescrizione.Text = filterItem.Descrizione; if (filterItem.CorrispondenteLocazioneFisica != null) { this.txtCollocazioneFisica.Text = filterItem.CorrispondenteLocazioneFisica.descrizione; } }
/// <summary> /// Creazione oggetto contenente i dati di filtro dei fascicoli /// </summary> /// <returns></returns> private void FetchFascicoliFilterItem(FascicoliFilterItem filterItem) { if (this.txtCollocazioneFisica.Text == string.Empty || (filterItem.CorrispondenteLocazioneFisica != null && !filterItem.CorrispondenteLocazioneFisica.descrizione.Equals(this.txtCollocazioneFisica.Text))) { filterItem.CorrispondenteLocazioneFisica = null; } filterItem.CodiceNodoTitolario = this.txtCodiceTitolario.Text; filterItem.IDRegistro = this.cboRegistri.SelectedItem.Value; filterItem.DataApertura = this.GetRangeDateFilter("Data apertura", this.txtDataAperturaFrom.Text, this.txtDataAperturaTo.Text); filterItem.DataChiusura = this.GetRangeDateFilter("Data chiusura", this.txtDataChiusuraFrom.Text, this.txtDataChiusuraTo.Text); filterItem.DataCreazione = this.GetRangeDateFilter("Data creazione", this.txtDataCreazioneFrom.Text, this.txtDataCreazioneTo.Text); filterItem.Numero = this.GetNumericFilter(this.txtNumero.Text); filterItem.Anno = this.GetNumericFilter(this.txtAnno.Text); filterItem.Stato = this.cboStato.SelectedItem.Value; filterItem.Tipo = this.cboTipo.SelectedItem.Value; filterItem.Descrizione = this.txtDescrizione.Text; filterItem.DataCollocazione = this.GetRangeDateFilter("Data collocazione", this.txtDataCollocazioneFrom.Text, this.txtDataCollocazioneTo.Text); }
/// <summary> /// Ricerca fascicoli /// </summary> /// <param name="filterItem"></param> /// <param name="pagingContext"></param> /// <returns></returns> public static Fascicolo[] SearchFascicoli(FascicoliFilterItem filterItem, PagingContext pagingContext) { FiltroRicerca[] filters = filterItem.ToFiltriRicerca(); int pageCount; int recordCount; Utente user = UserManager.getUtente(); InfoUtente infoUtente = UserManager.getInfoUtente(); Registro registro = null; foreach (Registro item in UserManager.getRuolo().registri) { if (item.systemId.Equals(filterItem.IDRegistro)) { registro = item; break; } } FascicolazioneClassificazione classificazione = null; if (filterItem.CodiceNodoTitolario != string.Empty) { ClassificaHandler classificaHandler = new ClassificaHandler(); classificazione = classificaHandler.GetClassificazione(filterItem.CodiceNodoTitolario, registro); } DocsPaWebService ws = new DocsPaWebService(); // Lista dei system id dei fascicoli. Non utilizzata SearchResultInfo[] idProjects = null; Fascicolo[] retValue = ws.FascicolazioneGetListaFascicoliPaging( infoUtente, classificazione, registro, filters, false, false, false, pagingContext.PageNumber, pagingContext.PageSize, false, null, out pageCount, out recordCount, out idProjects); pagingContext.PageCount = pageCount; pagingContext.RecordCount = recordCount; if (retValue == null) { retValue = new Fascicolo[0]; } return(retValue); }