bool IPresenter.Open(IUserDefinedSearch search) { IFiltersList tempList = search.Filters.Clone(); bool confirmed = false; using (dialogView = view.CreateDialog(this)) using (var filtersManagerPresenter = filtersManagerFactory(tempList, dialogView)) { dialogView.SetData(new DialogData() { Name = search.Name }); confirm = () => { string name = dialogView.GetData().Name; if (string.IsNullOrWhiteSpace(name)) { alerts.ShowPopup( alertsCaption, "Bad filter name.", AlertFlags.Ok ); return(false); } if (name != search.Name && userDefinedSearches.ContainsItem(name)) { alerts.ShowPopup( alertsCaption, string.Format("Name '{0}' is already used by another filter. Enter another name.", name), AlertFlags.Ok ); return(false); } if (tempList.Items.Count == 0) { alerts.ShowPopup( alertsCaption, "Can not save: filter must have at least one rule.", AlertFlags.Ok ); return(false); } confirmed = true; return(confirmed); }; dialogView.OpenModal(); confirm = null; if (confirmed) { search.Name = dialogView.GetData().Name; search.Filters = tempList; } else { tempList.Dispose(); } } dialogView = null; return(confirmed); }
void IDialogViewEvents.OnCloseClicked() { var selection = GetSelection().ToArray(); if (selection.Length == 1) { currentDialogResult = selection[0]; } currentDialog.CloseModal(); }
IUserDefinedSearch IPresenter.Open() { using (currentDialog = view.CreateDialog(this)) { UpdateViewItems(); UpdateControls(); currentDialog.OpenModal(); } var tmp = currentDialogResult; currentDialog = null; currentDialogResult = null; return(tmp); }
public static void GetUserFriendlySearchHistoryEntryDescription( IUserDefinedSearch uds, StringBuilder stringBuilder) { stringBuilder.AppendFormat("{0} (filter, {1} rules)", uds.Name, uds.Filters.Count); }
public UserDefinedSearchHistoryEntry(IUserDefinedSearch uds) { this.uds = uds; }
void IUserDefinedSearchesInternal.OnFiltersChanged(IUserDefinedSearch sender) { changeHandlerInvoker.Invoke(); }
void IUserDefinedSearchesInternal.OnNameChanged(IUserDefinedSearch sender, string oldName) { items.Remove(oldName); items.Add(sender.Name, sender); changeHandlerInvoker.Invoke(); }
void IUserDefinedSearches.Delete(IUserDefinedSearch search) { ((IUserDefinedSearchInternal)search).DetachFromOwner(this); items.Remove(search.Name); changeHandlerInvoker.Invoke(); }