public bool Equals(Level2 other) { if (other == null) { return(false); } return(this.Id == other.Id); }
public static IEnumerable <Category> BuildTree(IEnumerable <ResultSet> results) { Category category = null; Family family = null; Series series = null; Level1 level1 = null; Level2 level2 = null; foreach (var result in results) { string categoryId = result.CategoryId; string familyId = result.FamilyId; string seriesId = result.SeriesId; string level1Id = result.Level1Id; string level2Id = result.Level2Id; string styleId = result.StyleId; string priceListId = result.PriceListId; string stockGroupId = result.StockGroupId; string supplyStatusId = result.SupplyingStatusId; if (!_list.ContainsKey(categoryId)) { category = new Category() { Id = categoryId }; _list.Add(categoryId, category); } else { category = _list[categoryId]; } family = category.CreateOrGet(familyId); series = family.CreateOrGet(seriesId); level1 = series.CreateOrGet(level1Id); level2 = level1.CreateOrGet(level2Id); level2.CreateOrGet(styleId); level2.CreateOrGet(new PriceList() { Id = priceListId }); level2.CreateOrGet(new StockGroup() { Id = stockGroupId }); level2.CreateOrGet(new SupplyStatus() { Id = supplyStatusId }); } return(_list.Values); }
public Level2 CreateOrGet(string level2Id) { if (level2Id == null) { throw new ArgumentNullException(); } Level2 level2 = new Level2() { Id = level2Id }; if (!_list.Contains <Level2>(level2)) { _list.Add(level2); } return(level2); }