private static StringBuilder formSelector(CSSobj obj, bool showSign, bool isMinus) { StringBuilder sb = new StringBuilder(); sb.Append(addSelectorLegenda(isMinus)); sb.Append(formAnswerSelectors(obj, showSign, isMinus)); return(sb); }
private static StringBuilder formRules(CSSobj obj_1, CSSobj obj_2) { StringBuilder sb = new StringBuilder(); sb.Append(addLegenda(obj_1, obj_2)); sb.Append(formAnswerRules(obj_1, obj_2)); return(sb); }
private static StringBuilder addLegenda(CSSobj objA, CSSobj objB) { StringBuilder sb = new StringBuilder(); sb.AppendLine("DESCRIPTION:\r\n"); sb.AppendLine("\tSign:\t'-' means - you must delete this rules or selectors from file: " + objA.FilePath + "\r\n"); sb.AppendLine("\tSign:\t'+' means - you must add this rules or selectors to file: " + objA.FilePath + "\r\n"); sb.AppendLine("###################################################################\r\n"); sb.AppendLine("First file:\t" + objA.FilePath); sb.AppendLine("Second file:\t" + objB.FilePath); sb.AppendLine("###################################################################\r\n"); return(sb); }
private static StringBuilder formAnswerSelectors(CSSobj obj, bool isShowSigns = true, bool isMinus = false) { StringBuilder sb = new StringBuilder(); var length = obj.CSSrules.Count(); for (int i = 0; i < length; i++) { if (obj.CSSrules[i].selectorEqTo == -1) { sb.Append(appendSelector(obj.CSSrules[i], isMinus, isShowSigns)); continue; } } return(sb); }
private static StringBuilder formAnswerRules(CSSobj obj, CSSobj obj_2) { StringBuilder sb = new StringBuilder(); var length = obj.CSSrules.Count(); for (int i = 0; i < length; i++) { if (obj.CSSrules[i].selectorEqTo == -1) { continue; } var eqNum = obj.CSSrules[i].selectorEqTo; if (!(obj.CSSrules[i].hasRules.Any(x => x == false) || obj_2.CSSrules[eqNum].hasRules.Any(x => x == false))) { continue; } if (obj.CSSrules[i].Media != null) { sb.Append("@media " + obj.CSSrules[i].Media + "{\r\n"); } sb.Append(string.Join(",\r\n", obj.CSSrules[i].Selector)) .Append(" {\r\n\t"); for (int j = 0; j < obj.CSSrules[i].Rules.Count(); j++) { if (obj.CSSrules[i].hasRules[j]) { continue; } sb.Append("\r\n-\t" + obj.CSSrules[i].Rules[j]); } for (int j = 0; j < obj_2.CSSrules[eqNum].Rules.Count(); j++) { if (obj_2.CSSrules[eqNum].hasRules[j]) { continue; } sb.Append("\r\n+\t" + obj_2.CSSrules[eqNum].Rules[j]); } sb.Append("\r\n\t}\r\n"); if (obj.CSSrules[i].Media != null) { sb.Append("}"); } } return(sb); }
public static void saveFile(string filePath, CSSobj objA, CSSobj objB, string option) { switch (option) { case "Export errors at same selectors": System.IO.File.WriteAllText(filePath, formRules(objA, objB).ToString()); break; case "Export not exist at #1": System.IO.File.WriteAllText(filePath, formSelector(objB, false, true).ToString()); break; case "Export not exist at #2": System.IO.File.WriteAllText(filePath, formSelector(objA, false, false).ToString()); break; default: System.IO.File.WriteAllText(filePath, formFull(objA, objB).ToString()); break; } }