/// <summary> /// /// </summary> /// <param name="sbStringBuilder"></param> /// <param name="value"></param> public void Serialize(SbStringBuilder sbStringBuilder, object value) { if (value == null) { sbStringBuilder.AppendEmptyValue(); return; } var booleanValue = (bool)value; sbStringBuilder.AppendValue(booleanValue ? "1" : "0"); }
/// <summary> /// /// </summary> /// <param name="sbStringBuilder"></param> /// <param name="value"></param> public void Serialize(SbStringBuilder sbStringBuilder, object value) { if (value == null) { sbStringBuilder.AppendEmptyValue(); return; } var date = (DateTime)value; var millisecounds = new DateTimeOffset(date).ToUnixTimeMilliseconds(); sbStringBuilder.AppendValue(millisecounds.ToString()); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string Serialize <T>(T obj) where T : class { if (obj == null) { return(string.Empty); } var sbStringBuilder = new SbStringBuilder(); var props = obj.GetType().GetProperties().ToList(); props.ForEach(f => SerializePropertyValue(f, obj, sbStringBuilder)); return(sbStringBuilder.ToString()); }
/// <summary> /// /// </summary> /// <param name="sbStringBuilder"></param> /// <param name="value"></param> public void Serialize(SbStringBuilder sbStringBuilder, object value) { var charValue = value as char?; if (charValue == null) { sbStringBuilder.AppendEmptyValue(); return; } if (charValue.ToString() == Strings.Semicolon) { throw new FormatException("Cannot convert value, don`t use semicolon (;) on value!"); } sbStringBuilder.AppendValue(charValue.ToString()); }
/// <summary> /// /// </summary> /// <param name="sbStringBuilder"></param> /// <param name="value"></param> public void Serialize(SbStringBuilder sbStringBuilder, object value) { var textValue = value as string; if (string.IsNullOrEmpty(textValue)) { sbStringBuilder.AppendEmptyValue(); return; } if (textValue.Contains(Strings.Semicolon)) { throw new FormatException("Cannot convert value, don`t use semicolon (;) on value!"); } sbStringBuilder.AppendValue(textValue); }
/// <summary> /// /// </summary> /// <param name="prop"></param> /// <param name="obj"></param> /// <param name="builder"></param> private static void SerializePropertyValue(PropertyInfo prop, object obj, SbStringBuilder builder) { var converter = SbStringConverterFactory.GetConverter(prop.PropertyType); converter.Serialize(builder, prop.GetValue(obj)); }
/// <summary> /// /// </summary> /// <param name="sbStringBuilder"></param> /// <param name="value"></param> public void Serialize(SbStringBuilder sbStringBuilder, object value) { throw new NotImplementedException(); }