public static List<territories> GetTerritories(List<territories> territories, int level) { var result = new List<territories>(); var titlePrefix = new string('\xA0', level); foreach (var territory in territories) { var listTerritory = new territories {id = territory.id, title = titlePrefix + territory.title}; result.Add(listTerritory); if (territory.SubTerritories.Any()) { result.AddRange(GetTerritories(territory.SubTerritories.ToList(), level + 3)); } } return result; }
public void LoadAggregations(Meridian _meridian) { if((territory_id > 0) && (_meridian.territoriesStore.Exists(territory_id))) { this.territory_resorts_territories = _meridian.territoriesStore.Get(territory_id);; this.territory_resorts_territories.AddResorts(this); } }
public territories RemoveSubTerritories(territories _item, bool _complete = false) { sub_territories.Remove(_item); if(_complete) Meridian.Default.territoriesStore.Delete(_item); return _item; }
public territories AddSubTerritories(territories _item, bool _insertToStore = false) { if(sub_territories.IndexOf(_item) != -1) return _item; sub_territories.Add(_item); _item.parent_id = id; if(_insertToStore && !Meridian.Default.territoriesStore.Exists(_item.id)) { Meridian.Default.territoriesStore.Insert(_item); _item.LoadAggregations(Meridian.Default); } return _item; }