public List <Product> SearchByWord(string word) { KeyWord = word; foreach (var tree in Trees) { if (tree.NumberOfNodes() == 0) { AddItemsToTheTree(TradeMarkTree); } } Products.Clear(); foreach (var tree in Trees) { if (tree is StringBST) { StringBST tempTree = (StringBST)tree; tempTree.InOrder(); foreach (var product in tempTree.GetProducts()) { if (product.ProductDescription.ToLower().Contains(KeyWord.ToLower()) || product.Name.ToLower().Contains(KeyWord.ToLower()) || product.Model.ToLower().Contains(KeyWord.ToLower()) || product.TradeMark.ToLower().Contains(KeyWord.ToLower())) { if (!Products.Contains(product)) { Products.Add(product); } } } break; } if (tree is IntBST) { IntBST tempTree = (IntBST)tree; tempTree.InOrder(); foreach (var product in tempTree.GetProducts()) { if (product.ProductDescription.ToLower().Contains(KeyWord.ToLower()) || product.Name.ToLower().Contains(KeyWord.ToLower()) || product.Model.ToLower().Contains(KeyWord.ToLower()) || product.TradeMark.ToLower().Contains(KeyWord.ToLower())) { if (!Products.Contains(product)) { Products.Add(product); } } } break; } } return(Products); }
public List <string> GetStringLabels(string type) { List <string> Labels = new List <string>(); if (type == "Categories" && new CategoryDataAccess().GetList() != null) { foreach (var category in new CategoryDataAccess().GetList()) { Labels.Add(category.Name); } return(Labels); } foreach (var tree in Trees) { if (tree is StringBST) { StringBST tempTree = (StringBST)tree; if (tempTree.NumberOfNodes() == 0) { AddItemsToTheTree(tempTree); } if (String.Compare(tempTree.GetTreeType(), type, true) == 0) { if (type == "TradeMark") { tempTree.InOrder(); foreach (var product in tempTree.GetProducts()) { if (!Labels.Exists(t => t.CompareTo(product.TradeMark) == 0)) { Labels.Add(product.TradeMark); } } break; } if (type == "Name") { tempTree.InOrder(); foreach (var product in tempTree.GetProducts()) { if (!Labels.Exists(t => t.CompareTo(product.Name) == 0)) { Labels.Add(product.Name); } } break; } } if (type == "Model" && tree == TradeMarkTree) { StringBST tempTradeMarkTree = (StringBST)tree; if (tree.NumberOfNodes() == 0) { AddItemsToTheTree(tree); } tree.InOrder(); foreach (var product in tempTree.Search(TradeMark).Products) { if (!Labels.Exists(t => t.CompareTo(product.Model) == 0)) { Labels.Add(product.Model); } } break; } } } return(Labels); }