public void EditQueryClick(WorkUnitQueryPresenter presenter)
        {
            presenter.Query = Model.SelectedWorkUnitQuery.DeepClone();

            bool showDialog = true;

            while (showDialog)
            {
                if (presenter.ShowDialog(Form) == DialogResult.OK)
                {
                    try
                    {
                        Model.ReplaceQuery(presenter.Query);
                        showDialog = false;
                    }
                    catch (ArgumentException ex)
                    {
                        MessageBox.ShowError(Form, ex.Message, Core.Application.NameAndVersion);
                    }
                }
                else
                {
                    showDialog = false;
                }
            }
        }
        public void NewQueryClick(WorkUnitQueryPresenter presenter)
        {
            presenter.Query.Name = WorkUnitQuery.NewQueryName;
            presenter.Query.Parameters.Add(new WorkUnitQueryParameter());

            bool showDialog = true;

            while (showDialog)
            {
                if (presenter.ShowDialog(Form) == DialogResult.OK)
                {
                    try
                    {
                        Model.AddQuery(presenter.Query);
                        showDialog = false;
                    }
                    catch (ArgumentException ex)
                    {
                        MessageBox.ShowError(Form, ex.Message, Core.Application.NameAndVersion);
                    }
                }
                else
                {
                    showDialog = false;
                }
            }
        }