/// <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; } } }
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); }
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(); }