public void HandlePublishedSearchRequestsEvent(CriteriaUsageEventPayload eventPayload) { if (eventPayload == null) { throw new ArgumentNullException("eventPayload"); } if (log.IsDebugEnabled) { log.Debug("Received published search requests event => " + eventPayload); } ISearch search = new SearchImpl(); if (eventPayload.Criteria != null) { foreach (var criterion in eventPayload.Criteria) { search.Criteria.Add(new SearchCriterionImpl { ControlName = criterion.Key, ControlValue = criterion.Value }); } } Requests.Clear(); Requests.AddRange(optionRequestPersistanceManager.GetRequestMatchingAdhocCriteria(search, false)); NotifyPropertyChanged("Requests"); if (!Requests.Any()) { MessageBox.Show("No RFQs matching the search criteria were found!\nPlease broaden your search criteria.", "No Search Results Returned.", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
private void ExecuteQuery(MasterPanelPesquisaUF MasterPanel) { ToolBar_ButtonClick(this, new ToolBarButtonClickEventArgs(ToolBarButton2)); List <string> resultadosDaPesquisa = new List <string>(); try { ((frmMain)TopLevelControl).EnterWaitMode(); this.lblFuncao.Text = string.Format("Resultados da pesquisa (em curso)"); this.lblFuncao.Update(); GisaDataSetHelper.ManageDatasetConstraints(false); GisaDataSetHelper.HoldOpen ho = new GisaDataSetHelper.HoldOpen(GisaDataSetHelper.GetConnection()); try { // TODO: Considerar retirar a dependência com Lucene.Net para fazer a validação dos campos: nem todos são validados.... UnidadeFisicaSearch ufSearch = new UnidadeFisicaSearch(); Lucene.Net.Analysis.Analyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30); QueryParser qp = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, string.Empty, analyzer); qp.AllowLeadingWildcard = true; StringBuilder errorMessage = new StringBuilder(); ufSearch.Numero = Helper.AddFieldToSearch(qp, "Código Parcial", MasterPanelPesquisaUF.txtCdReferencia.Text, ref errorMessage); ufSearch.Designacao = Helper.AddFieldToSearch(qp, "Designação", MasterPanelPesquisaUF.txtDesignacao.Text, ref errorMessage); ufSearch.Cota = Helper.AddFieldToSearch(qp, "Cota", Helper.EscapeSpecialCharactersCotaDocumento(MasterPanelPesquisaUF.txtCota.Text.ToLower()), ref errorMessage); ufSearch.CodigoBarras = Helper.AddFieldToSearch(qp, "CodigoBarras", MasterPanelPesquisaUF.txtCodigoBarras.Text, ref errorMessage); ufSearch.ConteudoInformacional = Helper.AddFieldToSearch(qp, "Conteúdo Informacional", MasterPanelPesquisaUF.txtConteudoInformacional.Text, ref errorMessage); // Nota: a combo MasterPanelPesquisaUF.cbTipoAcond contem uma lista de GISADataset.TipoAcondicionamentoRow GISADataset.TipoAcondicionamentoRow tipoAcondRow = (GISADataset.TipoAcondicionamentoRow)MasterPanelPesquisaUF.cbTipoAcond.SelectedItem; string tipoUnidadeFisica = tipoAcondRow.Designacao; if (tipoUnidadeFisica.ToLower().Equals("todos")) { tipoUnidadeFisica = ""; } else if (tipoUnidadeFisica.ToLower().Equals("<desconhecido>")) { tipoUnidadeFisica = "desconhecido"; } ufSearch.TipoUnidadeFisica = Helper.AddFieldToSearch(qp, "Tipo de Unidade Física", tipoUnidadeFisica, ref errorMessage); ufSearch.GuiaIncorporacao = Helper.AddFieldToSearch(qp, "Guia incorporação", MasterPanelPesquisaUF.txtGuiaIncorporacao.Text, ref errorMessage); ufSearch.Eliminado = MasterPanelPesquisaUF.chkFiltroUFsEliminadas.Checked ? "" : "nao"; if (MasterPanelPesquisaUF.cdbDataInicio.Checked) { ufSearch.DataProducaoInicioDoInicio = MasterPanelPesquisaUF.cdbDataInicio.GetStandardMaskDate.ToString("yyyyMMdd"); } if (MasterPanelPesquisaUF.cdbDataFim.Checked) { ufSearch.DataProducaoFimDoInicio = MasterPanelPesquisaUF.cdbDataFim.GetStandardMaskDate.ToString("yyyyMMdd"); } if (MasterPanelPesquisaUF.cdbInicioDoFim.Checked) { ufSearch.DataProducaoInicioDoFim = MasterPanelPesquisaUF.cdbInicioDoFim.GetStandardMaskDate.ToString("yyyyMMdd"); } if (MasterPanelPesquisaUF.cdbFimDoFim.Checked) { ufSearch.DataProducaoFimDoFim = MasterPanelPesquisaUF.cdbFimDoFim.GetStandardMaskDate.ToString("yyyyMMdd"); } if (errorMessage.Length > 0) { MessageBox.Show("O(s) campo(s) seguinte(s) tem(êm) valor(es) incorrecto(s): " + System.Environment.NewLine + errorMessage.ToString()); return; } resultadosDaPesquisa.AddRange(SearchImpl.search(ufSearch.ToString(), "unidadeFisica")); // filtragens adicionais sobre os resultados de pesquisa string operador = string.Empty; int anoEdicaoInicio = int.MinValue; int mesEdicaoInicio = int.MinValue; int diaEdicaoInicio = int.MinValue; int anoEdicaoFim = int.MinValue; int mesEdicaoFim = int.MinValue; int diaEdicaoFim = int.MinValue; long IDNivel = long.MinValue; int assoc = int.MinValue; operador = MasterPanelPesquisaUF.txtOperador.Text; assoc = MasterPanelPesquisaUF.cbAssociacoes.SelectedIndex; if (MasterPanelPesquisaUF.cdbDataEdicaoInicio.Checked) { anoEdicaoInicio = MasterPanelPesquisaUF.cdbDataEdicaoInicio.Year; mesEdicaoInicio = MasterPanelPesquisaUF.cdbDataEdicaoInicio.Month; diaEdicaoInicio = MasterPanelPesquisaUF.cdbDataEdicaoInicio.Day; } if (MasterPanelPesquisaUF.cdbDataEdicaoFim.Checked) { anoEdicaoFim = MasterPanelPesquisaUF.cdbDataEdicaoFim.Year; mesEdicaoFim = MasterPanelPesquisaUF.cdbDataEdicaoFim.Month; diaEdicaoFim = MasterPanelPesquisaUF.cdbDataEdicaoFim.Day; } if (MasterPanelPesquisaUF.chkEstruturaArquivistica.Checked && MasterPanelPesquisaUF.cnList.SelectedNivelRow != null) { IDNivel = MasterPanelPesquisaUF.cnList.SelectedNivelRow.ID; } PesquisaUFList1.SearchServerIDs = resultadosDaPesquisa; PesquisaUFList1.operador = operador; PesquisaUFList1.anoEdicaoInicio = anoEdicaoInicio; PesquisaUFList1.mesEdicaoInicio = mesEdicaoInicio; PesquisaUFList1.diaEdicaoInicio = diaEdicaoInicio; PesquisaUFList1.anoEdicaoFim = anoEdicaoFim; PesquisaUFList1.mesEdicaoFim = mesEdicaoFim; PesquisaUFList1.diaEdicaoFim = diaEdicaoFim; PesquisaUFList1.IDNivel = IDNivel; PesquisaUFList1.assoc = assoc; PesquisaUFList1.NewSearch = true; resultNumber = 0; PesquisaUFList1.ReloadList(); PesquisaUFList1.NewSearch = false; resultNumber = PesquisaUFList1.NrResults; PesquisaUFList1.Focus(); Trace.WriteLine(string.Format("Found {0} results.", resultNumber)); this.lblFuncao.Text = string.Format("Resultados da pesquisa ({0} {1})", resultNumber, ((resultNumber == 1) ? "descrição" : "descrições")); UpdateToolBarButtons(); } catch (Exception ex) { resultNumber = 0; Trace.WriteLine(ex); this.lblFuncao.Text = string.Format("Resultados da pesquisa"); } finally { ho.Dispose(); } GisaDataSetHelper.ManageDatasetConstraints(true); } catch (Exception Ex) { Trace.WriteLine(Ex); this.lblFuncao.Text = string.Format("Resultados da pesquisa"); } finally { ((frmMain)TopLevelControl).LeaveWaitMode(); } }
public ISearch AddCriterionToRelatedSearch(string owner, string descriptionKey, string controlName, string controlValue, bool isPrivate, bool isFilter) { if (String.IsNullOrEmpty(owner)) { throw new ArgumentException("owner"); } if (String.IsNullOrEmpty(descriptionKey)) { throw new ArgumentException("descriptionKey"); } if (String.IsNullOrEmpty(controlName)) { throw new ArgumentException("controlName"); } if (String.IsNullOrEmpty(controlValue)) { throw new ArgumentException("controlValue"); } var criterion = new SearchCriterionImpl { ControlName = controlName, ControlValue = controlValue, Owner = owner, DescriptionKey = descriptionKey, IsFilter = isFilter, IsPrivate = isPrivate }; var searchToBeUpdated = Searches.FirstOrDefault((existingSearch) => (existingSearch.Owner == owner) && (existingSearch.DescriptionKey == descriptionKey)); if (searchToBeUpdated == null) { if (log.IsDebugEnabled) { log.Debug("Adding JSON search criterion to NON-EXISTENT search with owner: " + owner + " and key: " + descriptionKey); } var newSearch = new SearchImpl { Owner = criterion.Owner, DescriptionKey = criterion.DescriptionKey, IsFilter = criterion.IsFilter, IsPrivate = criterion.IsPrivate, }; newSearch.Criteria.Add(criterion); Searches.Add(newSearch); return(newSearch); } if (log.IsDebugEnabled) { log.Debug("Adding JSON search criterion to EXISTING search with owner: " + owner + " and key: " + descriptionKey); } searchToBeUpdated.Criteria.Add(criterion); return(searchToBeUpdated); }