Esempio n. 1
0
        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;
 }
Esempio n. 6
0
 void IUserDefinedSearchesInternal.OnFiltersChanged(IUserDefinedSearch sender)
 {
     changeHandlerInvoker.Invoke();
 }
Esempio n. 7
0
 void IUserDefinedSearchesInternal.OnNameChanged(IUserDefinedSearch sender, string oldName)
 {
     items.Remove(oldName);
     items.Add(sender.Name, sender);
     changeHandlerInvoker.Invoke();
 }
Esempio n. 8
0
 void IUserDefinedSearches.Delete(IUserDefinedSearch search)
 {
     ((IUserDefinedSearchInternal)search).DetachFromOwner(this);
     items.Remove(search.Name);
     changeHandlerInvoker.Invoke();
 }