public static string Serialize(IResultSet resultSet) { IResultSetElement[] elements = resultSet.Elements.ToArray(); IDictionary <string, object>[] convertedElements = new IDictionary <string, object> [elements.Length]; for (int i = 0; i < elements.Length; i++) { IResultSetElement element = elements[i]; IDictionary <string, object> convertedElement = new Dictionary <string, object>(); foreach (string field in element.FieldNames) { convertedElement.Add(field, element.GetValue(field)); } convertedElements[i] = convertedElement; } using (TextWriter textWriter = new StringWriter()) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(textWriter, convertedElements); return(textWriter.ToString()); } }
public bool Equals(IResultSet x, IResultSet y) { IResultSetElement[] xElements = x.Elements.ToArray(); IResultSetElement[] yElements = y.Elements.ToArray(); if (xElements.Length != yElements.Length) { return(false); } int count = xElements.Length; for (int i = 0; i < count; i++) { IResultSetElement xElement = xElements[i]; IResultSetElement yElement = yElements[i]; if (!xElement.Equals(yElement)) { return(false); } } return(true); }
public bool Equals(IResultSet x, IResultSet y) { List <IResultSetElement> xElements = x.Elements.ToList(); List <IResultSetElement> yElements = y.Elements.ToList(); if (xElements.Count != yElements.Count) { return(false); } for (int i = 0; i < xElements.Count; i++) { IResultSetElement xElement = xElements[i]; bool equals = false; int j = 0; for (; j < yElements.Count; j++) { IResultSetElement yElement = yElements[j]; if (xElement.Equals(yElement)) { equals = true; break; } } if (!equals) { return(false); } else { yElements.RemoveAt(j); } } return(true); }
public override bool Equals(object obj) { IResultSetElement other = obj as IResultSetElement; if (other == null) { return(false); } if (this.FieldNames.Length != other.FieldNames.Length) { return(false); } for (int i = 0; i < this.FieldNames.Length; i++) { string name = this.FieldNames[i]; object value = this.GetValue(name); if (!other.HasValue(name)) { return(false); } object otherValue = other.GetValue(name); if (otherValue == null || value == null) { return(otherValue == null && value == null); } if (!CompareValues(value, otherValue)) { return(false); } } return(true); }