Exemple #1
0
        /// <summary>
        /// Определение связывания дома с объектом базы - по сохраненным в секциях идентификаторам
        /// </summary>
        public void DefineConnectionDbSel()
        {
            // Если во всех секциях сохранен один идентификатор
            var houseIds = Sections.Where(w => w.Building.HouseId != 0).GroupBy(g => g.Building.HouseId).ToList();

            if (houseIds.Count == 1)
            {
                // Поиск объекта для связывания
                var houseDbSel = Model.FindHouseDb(houseIds.First().Key);
                if (houseDbSel != null)
                {
                    houseDbSel.Connect(this);
                    SelectedHouseDb = houseDbSel;
                }
            }
        }
Exemple #2
0
        private List <HouseDbSel> LoadHousesDbSel()
        {
            var housesDbSel = new List <HouseDbSel>();
            var project     = Options.Project;

            if (project != null)
            {
                var objHousesDb = DbService.GetHouses(project);
                if (objHousesDb.Any())
                {
                    housesDbSel.Add(HouseDbSel.Empty);
                    foreach (var item in objHousesDb)
                    {
                        var houseDbSel = new HouseDbSel(item);
                        housesDbSel.Add(houseDbSel);
                    }
                }
            }
            return(housesDbSel);
        }
Exemple #3
0
 private void OnSelectedHouseDbChanged(HouseDbSel oldValue)
 {
     if (oldValue?.Equals(SelectedHouseDb) == true)
     {
         return;
     }
     if (SelectedHouseDb != null)
     {
         //HouseId = SelectedHouseDb.Id;
         SelectedHouseDb.Connect(this);
         // Сохранение связанного объекта в блок-секциях
         SaveHouseIdToSections();
     }
     //else
     //{
     //    HouseId = 0;
     //}
     if (oldValue != null)
     {
         oldValue.Disconnect(this);
     }
     //FrontGroup.Front.DefineHouseDb();
 }