public void HandlePublishedFilterRequestsEvent(CriteriaUsageEventPayload eventPayload) { if (eventPayload == null) { throw new ArgumentNullException("eventPayload"); } if (log.IsDebugEnabled) { log.Debug("Received published filter requests event => " + eventPayload); } if (eventPayload.Criteria != null && eventPayload.Criteria.Count > 0) { var view = CollectionViewSource.GetDefaultView(Requests); view.Filter = (request) => ((IRequestForQuote)request).DoesRequestMatchFilter(eventPayload.Criteria); } else { Requests.Clear(); Requests.AddRange(TodaysRequests); NotifyPropertyChanged("Requests"); var view = CollectionViewSource.GetDefaultView(Requests); view.Filter = null; } }
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); } }
public void HandleBothFilterAndSearchRequests(CriteriaUsageEventPayload eventPayload) { if (eventPayload == null) { throw new ArgumentNullException("eventPayload"); } if (eventPayload.IsFilter) { HandlePublishedFilterRequestsEvent(eventPayload); } else { HandlePublishedSearchRequestsEvent(eventPayload); } }