public List <HitomiTagdata> GetCharacterList(string startswith, bool constains = false) { List <HitomiTagdata> result = new List <HitomiTagdata>(); if (!constains) { foreach (var tagdata in tagdata_collection.character) { if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower())) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } } else { foreach (var tagdata in tagdata_collection.character) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(startswith.ToLower())) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } } return(result); }
public List <HitomiTagdata> GetTagList(string startswith, bool constains = false) { List <HitomiTagdata> target = new List <HitomiTagdata>(); target.AddRange(tagdata_collection.female); target.AddRange(tagdata_collection.male); target.AddRange(tagdata_collection.tag); target.Sort((a, b) => b.Count.CompareTo(a.Count)); List <HitomiTagdata> result = new List <HitomiTagdata>(); if (!constains) { foreach (var tagdata in target) { if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower())) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } } else { foreach (var tagdata in target) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(startswith)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } } return(result); }
public List <HitomiTagdata> GetTypeList(string startswith) { List <HitomiTagdata> result = new List <HitomiTagdata>(); foreach (var tagdata in tagdata_collection.type) { if (tagdata.Tag.ToLower().Replace(' ', '_').StartsWith(startswith.ToLower())) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } return(result); }
public List <HitomiTagdata> GetTotalListFuzzy(string search) { List <HitomiTagdata> result = new List <HitomiTagdata>(); List <HitomiTagdata> target = new List <HitomiTagdata>(); target.AddRange(tagdata_collection.female); target.AddRange(tagdata_collection.male); search = search.ToLower(); foreach (var tagdata in tagdata_collection.artist) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "artist:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in tagdata_collection.group) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "group:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in tagdata_collection.series) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "series:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in tagdata_collection.character) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "character:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in tagdata_collection.type) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "type:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in target) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } foreach (var tagdata in tagdata_collection.tag) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "tag:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = -StringAlgorithms.get_diff(search, tagdata.Tag.ToLower().Replace(' ', '_')); result.Add(data); } result.Sort((a, b) => b.Count.CompareTo(a.Count)); return(result); }
/// <summary> /// AutoComplete에 보여줄 모든 관련 검색어를 가져옵니다. 단, 제목은 포함되지 않습니다. /// </summary> /// <param name="contains"></param> /// <returns></returns> public List <HitomiTagdata> GetTotalList(string contains) { if (Settings.Instance.GetModel().UsingFuzzy) { return(GetTotalListFuzzy(contains)); } List <HitomiTagdata> result = new List <HitomiTagdata>(); List <HitomiTagdata> target = new List <HitomiTagdata>(); target.AddRange(tagdata_collection.female); target.AddRange(tagdata_collection.male); contains = contains.ToLower(); foreach (var tagdata in tagdata_collection.artist) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "artist:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in tagdata_collection.group) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "group:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in tagdata_collection.series) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "series:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in tagdata_collection.character) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "character:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in tagdata_collection.type) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "type:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in target) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } foreach (var tagdata in tagdata_collection.tag) { if (tagdata.Tag.ToLower().Replace(' ', '_').Contains(contains)) { HitomiTagdata data = new HitomiTagdata(); data.Tag = "tag:" + tagdata.Tag.ToLower().Replace(' ', '_'); data.Count = tagdata.Count; result.Add(data); } } result.Sort((a, b) => b.Count.CompareTo(a.Count)); return(result); }