public List <Gemstones> Search(Gemstones gemstone) { var doc = XDocument.Load(@"H:\visual_studio_c#\XmlLab3\XmlLab3\Gemstones.xml"); List <Gemstones> OurResult = new List <Gemstones>(); var result = from obj in doc.Descendants("Gemstone") where ((obj.Attribute("Type").Value.Equals(gemstone.Type) || gemstone.Type.Equals(String.Empty)) && (obj.Attribute("Category").Value.Equals(gemstone.Category) || gemstone.Category.Equals(String.Empty)) && (obj.Attribute("Hardness").Value.Equals(gemstone.Hardness) || gemstone.Hardness.Equals(String.Empty)) && (obj.Attribute("Density").Value.Equals(gemstone.Density) || gemstone.Density.Equals(String.Empty)) && (obj.Attribute("Mineral").Value.Equals(gemstone.Mineral) || gemstone.Mineral.Equals(String.Empty)) && (obj.Attribute("Color").Value.Equals(gemstone.Color) || gemstone.Color.Equals(String.Empty))) select new { type = (string)obj.Attribute("Type"), category = (string)obj.Attribute("Category"), hardness = (string)obj.Attribute("Hardness"), density = (string)obj.Attribute("Density"), mineral = (string)obj.Attribute("Mineral"), color = (string)obj.Attribute("Color") }; foreach (var res in result) { Gemstones ourGemstone = new Gemstones(); ourGemstone.Type = res.type; ourGemstone.Category = res.category; ourGemstone.Density = res.density; ourGemstone.Hardness = res.hardness; ourGemstone.Mineral = res.mineral; ourGemstone.Color = res.color; OurResult.Add(ourGemstone); } return(OurResult); }
public List <Gemstones> Search(Gemstones gemstones) { List <Gemstones> OurResult = new List <Gemstones>(); XmlDocument doc = new XmlDocument(); doc.Load(@"H:\visual_studio_c#\XmlLab3\XmlLab3\Gemstones.xml"); XmlNode node = doc.DocumentElement; foreach (XmlNode nod in node.ChildNodes) { string Type = ""; string Category = ""; string Density = ""; string Mineral = ""; string Hardness = ""; string Color = ""; foreach (XmlAttribute attribute in nod.Attributes) { if (attribute.Name.Equals("Type") && (attribute.Value.Equals(gemstones.Type) || gemstones.Type.Equals(String.Empty))) { Type = attribute.Value; } if (attribute.Name.Equals("Category") && (attribute.Value.Equals(gemstones.Category) || gemstones.Category.Equals(String.Empty))) { Category = attribute.Value; } if (attribute.Name.Equals("Density") && (attribute.Value.Equals(gemstones.Density) || gemstones.Density.Equals(String.Empty))) { Density = attribute.Value; } if (attribute.Name.Equals("Mineral") && (attribute.Value.Equals(gemstones.Mineral) || gemstones.Mineral.Equals(String.Empty))) { Mineral = attribute.Value; } if (attribute.Name.Equals("Hardness") && (attribute.Value.Equals(gemstones.Hardness) || gemstones.Hardness.Equals(String.Empty))) { Hardness = attribute.Value; } if (attribute.Name.Equals("Color") && (attribute.Value.Equals(gemstones.Color) || gemstones.Color.Equals(String.Empty))) { Color = attribute.Value; } } if (Type != "" && Category != "" && Density != "" && Mineral != "" && Hardness != "" && Color != "") { Gemstones ourGemstone = new Gemstones(); ourGemstone.Type = Type; ourGemstone.Category = Category; ourGemstone.Density = Density; ourGemstone.Mineral = Mineral; ourGemstone.Hardness = Hardness; ourGemstone.Color = Color; OurResult.Add(ourGemstone); } } return(OurResult); }
private void Search() { try { FoundRichTextBox.Text = ""; Gemstones gemstone = new Gemstones(); if (TypeCheckBox.Checked) { gemstone.Type = TypeComboBox.SelectedItem.ToString(); } if (CategoryCheckBox.Checked) { gemstone.Category = CategoryComboBox.SelectedItem.ToString(); } if (HardnessCheckBox.Checked) { gemstone.Hardness = HardnessComboBox.SelectedItem.ToString(); } if (DensityCheckBox.Checked) { gemstone.Density = DensityComboBox.SelectedItem.ToString(); } if (ColorCheckBox.Checked) { gemstone.Color = ColorComboBox.SelectedItem.ToString(); } if (MineralCheckBox.Checked) { gemstone.Mineral = MineralComboBox.SelectedItem.ToString(); } ISearchAlgorithmStrategy myStrategy = new DOMSearchAlgorithmStrategy(); if (DOMRadioButton.Checked) { myStrategy = new DOMSearchAlgorithmStrategy(); } if (SAXRadioButton.Checked) { myStrategy = new SAXSearchAlgorithmStrategy(); } if (LinqToXMLRadioButton.Checked) { myStrategy = new LinqToXMLSearchAlgorithmStrategy(); } List <Gemstones> result = SearchWithStrategy(myStrategy, gemstone); foreach (Gemstones res in result) { FoundRichTextBox.Text += "Type: " + res.Type + '\n'; FoundRichTextBox.Text += "Category: " + res.Category + '\n'; FoundRichTextBox.Text += "Density: " + res.Density + '\n'; FoundRichTextBox.Text += "Hardness: " + res.Hardness + '\n'; FoundRichTextBox.Text += "Mineral: " + res.Mineral + '\n'; FoundRichTextBox.Text += "Color: " + res.Color + '\n'; FoundRichTextBox.Text += "\n\n"; } } catch (NullReferenceException) { MessageBox.Show("Error! Enter data!"); } }
public List <Gemstones> Search(Gemstones gemstone) { List <Gemstones> OurResult = new List <Gemstones>(); var xmlReader = new XmlTextReader(@"H:\visual_studio_c#\XmlLab3\XmlLab3\Gemstones.xml"); while (xmlReader.Read()) { if (xmlReader.HasAttributes) { while (xmlReader.MoveToNextAttribute()) { string Type = ""; string Category = ""; string Density = ""; string Mineral = ""; string Hardness = ""; string Color = ""; if (xmlReader.Name.Equals("Type") && (xmlReader.Value.Equals(gemstone.Type) || gemstone.Type.Equals(String.Empty))) { Type = xmlReader.Value; xmlReader.MoveToNextAttribute(); if (xmlReader.Name.Equals("Category") && (xmlReader.Value.Equals(gemstone.Category) || gemstone.Category.Equals(String.Empty))) { Category = xmlReader.Value; xmlReader.MoveToNextAttribute(); if (xmlReader.Name.Equals("Density") && (xmlReader.Value.Equals(gemstone.Density) || gemstone.Density.Equals(String.Empty))) { Density = xmlReader.Value; xmlReader.MoveToNextAttribute(); if (xmlReader.Name.Equals("Mineral") && (xmlReader.Value.Equals(gemstone.Mineral) || gemstone.Mineral.Equals(String.Empty))) { Mineral = xmlReader.Value; xmlReader.MoveToNextAttribute(); if (xmlReader.Name.Equals("Hardness") && (xmlReader.Value.Equals(gemstone.Hardness) || gemstone.Hardness.Equals(String.Empty))) { Hardness = xmlReader.Value; xmlReader.MoveToNextAttribute(); if (xmlReader.Name.Equals("Color") && (xmlReader.Value.Equals(gemstone.Color) || gemstone.Color.Equals(String.Empty))) { Color = xmlReader.Value; xmlReader.MoveToNextAttribute(); } } } } } } if (Type != "" && Category != "" && Density != "" && Mineral != "" && Hardness != "" && Color != "") { Gemstones ourGemstone = new Gemstones(); ourGemstone.Type = Type; ourGemstone.Category = Category; ourGemstone.Density = Density; ourGemstone.Mineral = Mineral; ourGemstone.Hardness = Hardness; ourGemstone.Color = Color; OurResult.Add(ourGemstone); } } } } xmlReader.Close(); return(OurResult); }
private List <Gemstones> SearchWithStrategy(ISearchAlgorithmStrategy myStrategy, Gemstones gemstone) { return(myStrategy.Search(gemstone)); }