Esempio n. 1
0
 public static void SetupSearchableField(ISearchableField field, FieldResult fieldResult)
 {
     field.SearchConfiguration = ParseSearchFieldConfiguration(fieldResult.FilterData);
     field.FilterCommand       = fieldResult.FilterCommand;
     field.FilterData          = fieldResult.FilterData;
     field.FilterType          = fieldResult.FilterType ?? 0;
 }
        private string GetSearchParameterKey(ISearchableField field)
        {
            var searchConfiguration = field.SearchConfiguration;

            if (searchConfiguration == null)
            {
                return(field.MapTo); // Allowed until Odiss 6
            }

            if (string.IsNullOrEmpty(searchConfiguration.EntityName))
            {
                return(searchConfiguration.SearchFields);
            }

            var searchEntityType = this.searchEngineRegistry.GetEntityType(searchConfiguration.EntityName);

            return(BuildNavigationParameterForField(searchConfiguration.SearchFields, searchEntityType, this.type));
        }
Esempio n. 3
0
        public SearchIssuesViewModel(IMessageBus messageBus)
        {
            _messageBus = messageBus;
            _messageBus.Register(this);

            FoundIssues = new ObservableCollection <JiraIssue>();

            SearchableFields = new ISearchableField[]
            {
                new SearchBySprintField(messageBus),
                new ComboBoxSearchField <RawIssueType, GetIssueTypesMessage, GetIssueTypesResponse>(_messageBus,
                                                                                                    r => r.IssueTypes,
                                                                                                    x => x.Name,
                                                                                                    x => x.Name,
                                                                                                    "issuetype",
                                                                                                    "Select issue type"),
                new ComboBoxSearchField <RawProjectInfo, GetProjectsMessage, GetProjectsResponse>(_messageBus,
                                                                                                  r => r.Projects,
                                                                                                  x => x.Name,
                                                                                                  x => x.Name,
                                                                                                  "project",
                                                                                                  "Select project"),
                new ComboBoxSearchField <RawPriority, GetPrioritiesMessage, GetPrioritiesResponse>(_messageBus,
                                                                                                   r => r.Priorities,
                                                                                                   x => x.Name,
                                                                                                   x => x.Name,
                                                                                                   "priority",
                                                                                                   "Select priority"),
                new ComboBoxSearchField <RawResolution, GetResolutionsMessage, GetResolutionsResponse>(_messageBus,
                                                                                                       r => r.Resolutions,
                                                                                                       x => x.Name,
                                                                                                       x => x.Name,
                                                                                                       "resolution",
                                                                                                       "Select resolution"),
                new ComboBoxSearchField <RawStatus, GetStatusesMessage, GetStatusesResponse>(_messageBus,
                                                                                             r => r.Statuses,
                                                                                             x => x.Name,
                                                                                             x => x.Name,
                                                                                             "status",
                                                                                             "Select status")
            };

            _messageBus.Send(new IsLoggedInMessage());
        }