public override CompareResult Compare(string fragmentText) { double similarity = 0; if (ignoreCase) { if (ItemKey.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase)) { this.SortIndex = LevenshteinDistance(ItemKey, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length + 1); return CompareResult.VisibleAndSelected; } if (ItemValue.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase)) { this.SortIndex = LevenshteinDistance(ItemValue, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length); return CompareResult.VisibleAndSelected; } if (FilterColumns != null) { int i = 1; foreach (string strCol in FilterColumns) { if (strCol.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase)) { this.SortIndex = LevenshteinDistance(strCol, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length - i); return CompareResult.VisibleAndSelected; } i++; } } } else { if (ItemKey.Contains(fragmentText)) { this.SortIndex = LevenshteinDistance(ItemKey, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length + 1); return CompareResult.VisibleAndSelected; } if (ItemValue.Contains(fragmentText)) { this.SortIndex = LevenshteinDistance(ItemValue, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length); return CompareResult.VisibleAndSelected; } if (FilterColumns != null) { int i = 1; foreach (string strCol in FilterColumns) { if (strCol.ToLower().Contains(fragmentText)) { this.SortIndex = LevenshteinDistance(strCol, fragmentText, out similarity, ignoreCase) * Math.Pow(10, FilterColumns.Length - i); return CompareResult.VisibleAndSelected; } i++; } } } return CompareResult.Hidden; }
private void LoadFromExtensionData() { JsonExtensionDataItemCollection Data; JsonExtensionDataItem ImageItem; Data = HelperFunctions.ConvertExtensionData(_ExtensionData); ImageItem = Data.GetItemByName("image"); if (ImageItem != null) { if (ImageItem.IsClassType) { if (ImageItem.Items.Count == 2) { Images = new ItemImages { SmallImage = ImageItem.Items[0].Value.ToString(), LargeImage = ImageItem.Items[1].Value.ToString() }; } else { string SmallImage = null; string LargeImage = null; foreach (JsonExtensionDataItem Item in ImageItem.Items) { string ItemValue; ItemValue = Item.Value.ToString(); if (ItemValue.Contains("-300.")) { SmallImage = ItemValue; } else if (ItemValue.Contains("-600.")) { LargeImage = ItemValue; } } if (SmallImage == null) { SmallImage = ImageItem.Items[0].Value.ToString(); } if (LargeImage == null) { LargeImage = ImageItem.Items[0].Value.ToString(); } Images = new ItemImages { SmallImage = SmallImage, LargeImage = LargeImage }; } } else if (ImageItem.DataType.Name == "String") { Images = new ItemImages { SmallImage = ImageItem.Value.ToString(), LargeImage = ImageItem.Value.ToString() }; } else { Console.WriteLine("WTF"); } } }