예제 #1
0
        public void Remove(bool prompt)
        {
            var selectedViewNames = new HashSet <ViewName>(chooseViewsControl1.SelectedViews);

            if (selectedViewNames.Count == 0)
            {
                return;
            }
            string message;

            if (selectedViewNames.Count == 1)
            {
                message = string.Format(Resources.ManageViewsForm_BtnRemoveOnClick_Are_you_sure_you_want_to_delete_the_view___0___, selectedViewNames.First().Name);
            }
            else
            {
                message = string.Format(Resources.ManageViewsForm_BtnRemoveOnClick_Are_you_sure_you_want_to_delete_these__0__views_, selectedViewNames.Count);
            }
            if (prompt && ViewContext.ShowMessageBox(this, message, MessageBoxButtons.OKCancel) == DialogResult.Cancel)
            {
                return;
            }
            var namesByGroup = selectedViewNames.ToLookup(name => name.GroupId, name => name.Name);

            foreach (var grouping in namesByGroup)
            {
                ViewContext.DeleteViews(grouping.Key, grouping);
            }
        }