public static bool MatchAspectToRefinement(IAspectsDictionary aspects, string refinement) { var parts = refinement.Split('~'); if (parts.Length == 1) { return(aspects.ContainsKey(refinement)); } return(aspects.ContainsKey(parts[0]) && aspects[parts[0]] >= int.Parse(parts[1])); }
string AspectsToString(IAspectsDictionary aspects) { var builder = new StringBuilder(); foreach (var aspect in aspects) { builder.AppendFormat("{0}({1}), ", aspect.Key, aspect.Value); } var str = builder.ToString(); if (str.Length == 0) { return(""); } return(str.Substring(0, str.Length - 2)); }