示例#1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="options"></param>
 /// <param name="group">Группа - для изменения границ группы на чертеже</param>
 public FrontGroupOptionsViewModel(FrontGroupOptions options, FrontGroup group)
 {
     if (group != null)
     {
         HasSelectButton = true;
         FrontFroup      = group;
     }
     Options       = options;
     WindowVM      = new WindowOptionsViewModel(Options.Window);
     OK            = new RelayCommand(OnOkExecute);
     SelectExtents = new RelayCommand(OnSelectExtentsExecute);
 }
示例#2
0
        private void OnShowOptionsExecute(FrontGroup group)
        {
            var fgOptionsVM = new FrontGroupOptionsViewModel(group.Options, group);

            if (InsService.ShowDialog(fgOptionsVM) == true)
            {
                if (fgOptionsVM.SelectedExtents != null)
                {
                    group.SelectRegion = fgOptionsVM.SelectedExtents.Value;
                }
                group.Update();
            }
        }
示例#3
0
        private void InsAddFrontExecute()
        {
            // Выбор области на чертеже
            var       selectGroup = new SelectGroup(Front.Model.Doc);
            Extents3d selReg;

            try
            {
                selReg = selectGroup.Select();
            }
            catch
            {
                return;
            }

            // Проверка, что в указанной области есть свободные дома
            if (!Front.Model.Map.Houses.GetHousesInExtents(selReg).Any(h => h.FrontGroup == null))
            {
                // В области новой группы не должно быть домов из других групп
                InsService.ShowMessage($"В выбранной области нет домов не входящих в другие группы.", System.Windows.MessageBoxImage.Error);
                return;
            }

            // Создание группы фронтонов
            try
            {
                var frontGroup = FrontGroup.New(selReg, Front);
                Front.AddGroup(frontGroup);
                // Запись статистики
                PluginStatisticsHelper.AddStatistic();
            }
            catch (Exception ex)
            {
                InsService.ShowMessage(ex, "Ошибка при создании группы фронтонов.");
            }
        }
示例#4
0
 public ExportInsData(FrontGroup front, List <HouseTransform> houses)
 {
     Houses     = houses;
     FrontGroup = front;
 }
示例#5
0
 public ExportFrontGoup(FrontGroup front)
 {
     this.front = front;
 }
示例#6
0
        //private FrontGroup front;

        public GroupViewModel(FrontGroup front)
        {
            //this.front = front;
            Houses = new List <HouseViewModel>(front.Houses.Select(s => new HouseViewModel(s)));
            Name   = front.Name;
        }
示例#7
0
 private void OnDeleteExecute(FrontGroup group)
 {
     Front.DeleteGroup(group);
 }