private void onSearch(object sender, EventArgs e) { SpanshSearchSystems _search = CompileSearch(); Console.WriteLine(_search); m_UiSearch.changeState(UiSearch2.State.SearchResult); m_UiSearch.UiSearchResult.processSearch(new CustomSearch() { SearchName = "Quick search", SearchSystem = _search }, UiSearch2.State.Create); }
private void onSave(object sender, EventArgs e) { SpanshSearchSystems _search = CompileSearch(); Bookmarks.Save(new CustomSearch() { SearchName = "Custom search", SearchSystem = _search }); m_UiSearch.UiBookmarks.refreshCards(); m_UiSearch.changeState(UiSearch2.State.Bookmarks); Reset(); }
private SpanshSearchSystems CompileSearch() { SpanshSearchSystems _search = new SpanshSearchSystems(); _search.filters = new SpanshFilterSystems(); _search.reference_system = EDDatas.Instance.getCurrentSystem().name; _search.filters.distance_from_coords = new SpanshValue <int?>(0, SearchEngine.DefaultSystemRange); _search.sort = new SpanshSort[] { new SpanshSort() { distance_from_coords = new SpanshSortValue(true) } }; List <string> allegiances = new List <string>(); List <string> economies = new List <string>(); List <string> governments = new List <string>(); List <string> states = new List <string>(); List <string> powers = new List <string>(); List <string> powers_states = new List <string>(); List <string> securities = new List <string>(); foreach (NxItem item in Items) { if (item is NxCheckbox) { NxCheckbox checkBox = item as NxCheckbox; if (checkBox.Checked) { switch (checkBox.Obj) { case "permitOptions": break; case nameof(SpanshDatas.allegiance): allegiances.Add(checkBox.Label); break; case nameof(SpanshDatas.economy): economies.Add(checkBox.Label); break; case nameof(SpanshDatas.government): governments.Add(checkBox.Label); break; case nameof(SpanshDatas.power): powers.Add(checkBox.Label); break; case nameof(SpanshDatas.power_state): powers_states.Add(checkBox.Label); break; case nameof(SpanshDatas.state): states.Add(checkBox.Label); break; case nameof(SpanshDatas.security): securities.Add(checkBox.Label); break; case "populationOptions": if (checkBox.Label == "Unpopulated") { _search.filters.population = new SpanshValue <long?>("==", 0); } else if (checkBox.Label == "Populated") { _search.filters.population = new SpanshValue <long?>(">", 0); } break; } } } } if (allegiances.Count > 0) { _search.filters.allegiance = new SpanshValue <string[]>(allegiances.ToArray()); } if (economies.Count > 0) { _search.filters.primary_economy = new SpanshValue <string[]>(economies.ToArray()); } if (governments.Count > 0) { _search.filters.government = new SpanshValue <string[]>(governments.ToArray()); } if (powers.Count > 0) { _search.filters.power = new SpanshValue <string[]>(powers.ToArray()); } if (powers_states.Count > 0) { _search.filters.power_state = new SpanshValue <string[]>(powers_states.ToArray()); } if (states.Count > 0) { _search.filters.state = new SpanshValue <string[]>(states.ToArray()); } if (securities.Count > 0) { _search.filters.security = new SpanshValue <string[]>(securities.ToArray()); } return(_search); }