Пример #1
0
        private void tsmiEditRegionDeleteAllChildRegions_Click(object sender, EventArgs e)
        {
            Region region = (Region)_selectedNode.Tag;

            if (region.RegionLevel < 1)
            {
                CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("WorldContinentNotDelete"));
                return;
            }

            List <Region> childRegions = RegionHelper.GetAllChilds(region.IDRegion);

            if (childRegions.Any(r => r.IDRegion == region.IDRegion))
            {
                Region regionRemove = childRegions.First(r => r.IDRegion == region.IDRegion);
                childRegions.Remove(regionRemove);
            }

            if (childRegions == null || childRegions.Count == 0)
            {
                CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionHasNoChilds"));
                return;
            }

            List <Model> childRegionModels = ModelHelper.GetByRegions(childRegions);

            if (CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionChildsDeleteConfirm"), CustomMessageBoxMessageType.Warning,
                                             CustomMessageBoxButtonType.YesNo, new[] { region.RegionName }) == CustomMessageBoxReturnValue.Ok)
            {
                if (childRegionModels.Count > 0)
                {
                    if (
                        CustomMessageBox.ShowMessage(
                            ResourceHelper.GetResourceText("RegionChildsWithModelsDeleteConfirm"),
                            CustomMessageBoxMessageType.Warning, CustomMessageBoxButtonType.YesNo) !=
                        CustomMessageBoxReturnValue.Ok)
                    {
                        return;
                    }
                    LoadingForm.ShowLoading();
                    foreach (Model model in childRegionModels)
                    {
                        ModelHelper.Delete(model);
                    }
                    ViewManager.LoadModelsMenu();
                }
                LoadingForm.ShowLoading();
                foreach (Region childRegion in childRegions)
                {
                    RegionHelper.Delete(childRegion);
                }
                LoadRegions();
                CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionChildsDeleted"));
                LoadingForm.Fadeout();
            }
        }
Пример #2
0
        private void tsmiEditRegionDeleteRegion_Click(object sender, EventArgs e)
        {
            Region region = (Region)_selectedNode.Tag;

            List <Region> childRegions = RegionHelper.GetAllRelated(region.IDRegion);

            List <Model> modelsUsingSelectedRegionOrChilds = ModelHelper.GetByRegions(childRegions);

            modelsUsingSelectedRegionOrChilds.AddRange(ModelHelper.GetByRegion(region.IDRegion));

            if (modelsUsingSelectedRegionOrChilds.Count > 0)
            {
                CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionWithModels"));
                return;
            }

            if (CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionDeleteConfirm"), CustomMessageBoxMessageType.Warning,
                                             CustomMessageBoxButtonType.YesNo, new[] { region.RegionName }) == CustomMessageBoxReturnValue.Ok)
            {
                RegionHelper.Delete(region);
                LoadRegions();
                CustomMessageBox.ShowMessage(ResourceHelper.GetResourceText("RegionDeleted"));
            }
        }