public SelectEventDialog(MainForm mainForm, TrackerContext context) { this.InitializeComponent(); this.MainForm = mainForm; this.ListBinding = new ListBinding<JObjectSimpleDisplay>(this.EventsList, x => new JObjectSimpleDisplay(x as JObject, "name"), "Display"); this.ListBinding.AddSelectionControl(this.SelectButton); this.Context = context; this.CurrentSearch = this.Context.DeferredSearch("event", new Dictionary<string, string> { { "q", "" } }); this.CurrentSearch.OnComplete += results => { this.ListBinding.LoadArray(results); this.ListBinding.EnableControls(); }; this.ListBinding.DisableControls(); this.CurrentSearch.Begin(); }
private void SearchButton_Click(object sender, EventArgs e) { if (this.Context == null) throw new Exception("Error, no TrackerContext was set."); this.AbortExistingSearch(); this.CurrentSearch = this.Context.DeferredSearch(this.Model.ModelName, this.GetSearchParams()); this.CurrentSearch.OnComplete += results => { this.ListBinding.LoadArray(results); this.FormBinding.EnableControls(); this.ListBinding.EnableControls(); }; this.FormBinding.DisableControls(); this.ListBinding.DisableControls(); this.CurrentSearch.Begin(); }
private void BasicSearchButton_Click(object sender, EventArgs e) { this.AbortExistingSearch(); this.CurrentSearch = this.Context.DeferredSearch(this.Model.ModelName, new Dictionary<string, string> { { "q", BasicSearchText.Text } }); this.CurrentSearch.OnComplete += results => { this.ListBinding.LoadArray(results); this.FormBinding.EnableControls(); this.ListBinding.EnableControls(); }; this.FormBinding.DisableControls(); this.ListBinding.DisableControls(); this.CurrentSearch.Begin(); }
public void RequestRefresh(EntitySelectionCacheRefreshType refreshType = EntitySelectionCacheRefreshType.Light) { if (!this.BlockRequests) { try { this.AccessControl.WaitOne(); TimeSpan offset = this.GetSuggesstionOffset(refreshType); if (!this.BlockRequests && this.LastRefreshTime.Add(offset) < DateTime.Now && (this.Searcher == null || !this.Searcher.Busy)) { this.Searcher = new SearchContext(this.Context, this.ModelName, new Dictionary<string, string>()); this.Searcher.OnComplete += this.RefreshCache; this.Searcher.Begin(); } } finally { this.AccessControl.ReleaseMutex(); } } }