private void ReadAllShields(List <FileInfo> xmlShieldsList) { string folderPath = this.UIModel.Path.Replace(@"\\", @"\"); if (!Directory.Exists(folderPath + PathToShields)) { MessageBox.Show("No valid shields found.", "No data found."); } else { this.UIModel.UIModelShieldsVanilla.Clear(); foreach (var item in xmlShieldsList) { UIModelShield shield = m_XmlExtractor.ReadSingleShield(item); if (shield != null && shield.Name.Length > 1) { this.UIModel.UIModelShields.Add(shield); } } foreach (var item in this.UIModel.UIModelShields) { this.UIModel.UIModelShieldsVanilla.Add(item.Copy()); } } }
private bool FilterShieldsData(object item) { if (!Shields) { return(false); } UIModelShield shield = item as UIModelShield; List <string> searchArray = new List <string>(); List <string> searchArrayExceptNegatives = new List <string>(); if (this.SearchText != null && this.SearchText.Length > 0) { searchArray = this.SearchText.Split(' ').ToList(); searchArrayExceptNegatives = searchArray.Where(x => !x.StartsWith("-")).ToList(); } if ((Size_S && shield.Size == "S") || (m_Size_M && shield.Size == "M") || (m_Size_L && shield.Size == "L") || (m_Size_XL && shield.Size == "XL") || (m_Size_Other && (shield.Size != "S" && shield.Size != "M" && shield.Size != "L" && shield.Size != "XL"))) { if (this.SearchText != null && this.SearchText.Length > 0) { searchArray = this.SearchText.Split(' ').ToList(); } // filter entered if (searchArray.Count > 0) { bool found = false; foreach (string searchString in searchArray) { if (searchString.Length > 0) { if (searchString.StartsWith("-")) { if (shield.Name.ToUpper().Contains(searchString.Replace("-", "").ToUpper())) { return(false); } } if (shield.Name.ToUpper().Contains(searchString.ToUpper()) || shield.IGName.ToUpper().Contains(searchString.ToUpper())) { found = true; } } } return(found); } return(true); } return(false); }
private bool FilterWaresData(object item) { UIModelWare ware = item as UIModelWare; if (Wares) { if ((Size_S && ware.Size == "S") || (m_Size_M && ware.Size == "M") || (m_Size_L && ware.Size == "L") || (m_Size_XL && ware.Size == "XL") || (m_Size_Other && (ware.Size != "S" && ware.Size != "M" && ware.Size != "L" && ware.Size != "XL"))) { List <string> searchArray = new List <string>(); List <string> searchArrayExceptNegatives = new List <string>(); if (this.SearchText != null && this.SearchText.Length > 0) { searchArray = this.SearchText.Split(' ').ToList(); searchArrayExceptNegatives = searchArray.Where(x => !x.StartsWith("-")).ToList(); } // filter entered if (searchArray.Count > 0) { bool found = false; foreach (string searchString in searchArray) { if (searchString.Length > 0) { if (searchString.StartsWith("-")) { if (ware.Name.ToUpper().Contains(searchString.Replace("-", "").ToUpper())) { return(false); } } if (searchArrayExceptNegatives.Count == 0 || ware.Name.ToUpper().Contains(searchString.ToUpper())) { found = true; } } } return(found); } return(true); } return(false); } else { bool found = false; foreach (var s in m_ShipsDataView) { UIModelShip ship = s as UIModelShip; if (ship != null && ship.Name.Contains(ware.Name)) { return(true); } } foreach (var e in m_EnginesDataView) { UIModelEngine engine = e as UIModelEngine; if (engine != null && engine.Name.Contains(ware.Name)) { return(true); } } foreach (var s in m_ShieldsDataView) { UIModelShield shield = s as UIModelShield; if (shield != null && shield.Name.Contains(ware.Name)) { return(true); } } foreach (var p in m_ProjectilesDataView) { UIModelProjectile weapon = p as UIModelProjectile; if (weapon != null && weapon.Name.Contains(ware.Name)) { return(true); } } foreach (var w in m_WeaponsDataView) { UIModelWeapon weapon = w as UIModelWeapon; if (weapon != null && weapon.Name.Contains(ware.Name)) { return(true); } } foreach (var w in m_ProjectilesDataView) { UIModelWeapon weapon = w as UIModelWeapon; if (weapon != null && weapon.Name.Contains(ware.Name)) { return(true); } } foreach (var m in m_MissilesDataView) { UIModelMissile missile = m as UIModelMissile; if (missile != null && missile.Name.Contains(ware.Name)) { return(true); } } return(found); } }