public List <TagHandler> ReViwVariants() { List <TagHandler> tempTags = new List <TagHandler>(); foreach (var el in Tags) { List <VariantHandler> variantHandlers = new List <VariantHandler>(); foreach (var variant in el.VariantsTag) { string tempVarName1 = DelNew(variant.Variant.ToLower().Trim()); bool flag = true; foreach (var nonVariants in variantHandlers) { string tempVarName2 = DelNew(nonVariants.Variant.ToLower().Trim()); if (tempVarName1 == tempVarName2) { flag = false; } } if (flag) { variantHandlers.Add(variant); } } TagHandler tempHandler = new TagHandler(); tempHandler.TagName = el.TagName; tempHandler.TagEnd = el.TagEnd; tempHandler.AddVariantsTag(variantHandlers); tempTags.Add(tempHandler); } return(tempTags); }
/// <summary> /// Производит просмотр и удаление похожих заданных тегов. Предпочтение отдается тегам в конце списка. /// </summary> /// <returns></returns> public List <TagHandler> ReViwTags() { if (Tags.Count < 2) { return(Tags); } List <TagHandler> tempTags = new List <TagHandler>(); for (int i = Tags.Count - 1; i >= 0; i--) { bool flag = true; foreach (var el in tempTags) { if (Tags[i].TagName.ToLower() == el.TagName.ToLower()) { flag = false; foreach (var varEl in Tags[i].VariantsTag) { bool flag2 = true; for (int j = 0; j < el.VariantsTag.Count; j++) { string tempVarName1 = varEl.Variant.ToLower().Trim(); string tempVarName2 = el.VariantsTag[j].Variant.ToLower().Trim(); tempVarName1 = DelNew(tempVarName1); tempVarName2 = DelNew(tempVarName2); if (tempVarName1 == tempVarName2) { flag2 = false; } } if (flag2) { if (varEl.Variant.ToLower().Trim() == "size") { el.VariantsTag.Insert(0, varEl); } else { el.VariantsTag.Add(varEl); } } } } } if (flag) { TagHandler tempHandler = new TagHandler(); tempHandler.TagName = Tags[i].TagName; tempHandler.TagEnd = Tags[i].TagEnd; tempHandler.AddVariantsTag(Tags[i].VariantsTag); tempTags.Add(tempHandler); } } return(tempTags); }