/// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">Serializer</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is DateTime || value is DateTime?)
            {
                DateTime date = value is DateTime ? (DateTime)value : (value as DateTime?).Value;

                if (date != DateTime.MinValue)
                {
                    writer.WriteValue(date.ToString(this.RenderMilliseconds ? DateTimeFormatMs : DateTimeFormat, CultureInfo.InvariantCulture));
                }
                else
                {
                    writer.WriteRawValue("null");
                }

                return;
            }
            else
            {
                DateTimeOffset dateTimeOffset = (DateTimeOffset)value;

                if (dateTimeOffset != DateTimeOffset.MinValue)
                {
                    writer.WriteValue(dateTimeOffset.ToString(DateTimeFormat, CultureInfo.InvariantCulture));
                }
                else
                {
                    writer.WriteRawValue("null");
                }
            }

            writer.WriteRawValue("null");
        }
예제 #2
0
        protected override void WriteValue(Newtonsoft.Json.JsonWriter writer)
        {
			// Non-fractional (PassWallet for Android requires this)
			if ((decimal)((int)Value) == Value)
				writer.WriteValue((int)Value);
			// Fractional
			else
				writer.WriteValue(Value);
        }
예제 #3
0
        protected override void WriteKeys(Newtonsoft.Json.JsonWriter writer)
        {
            if (CurrencyCode != null)
            {
                writer.WritePropertyName("currencyCode");
                writer.WriteValue(CurrencyCode);
            }

            if (NumberStyle != FieldNumberStyle.Unspecified)
            {
                writer.WritePropertyName("numberStyle");
                writer.WriteValue(NumberStyle.ToString());
            }
        }
예제 #4
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is Unit)
            {
                Unit unit = (Unit)value;

                if (unit.Type == UnitType.Pixel)
                {
                    writer.WriteValue(Convert.ToInt32(((Unit)value).Value));
                }
                else if (unit.Type == UnitType.Percentage)
                {
                    writer.WriteValue(unit.Value.ToString() + "%");
                }
            }
        }
예제 #5
0
        protected override void WriteValue(Newtonsoft.Json.JsonWriter writer)
        {
            if (Value == null)
                throw new RequiredFieldValueMissingException(Key);

            writer.WriteValue(Value);
        }
예제 #6
0
        protected override void WriteProperties(Newtonsoft.Json.JsonTextWriter writer)
        {
            base.WriteProperties(writer);

            writer.WritePropertyName("size");
            writer.WriteValue(this.size);
        }
        /// <summary>
        /// Writes the json.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The serializer.</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if (value.GetType() != typeof(DateTime))
                throw new ArgumentOutOfRangeException("value", "The value provided was not the expected data type.");

            writer.WriteValue(((DateTime)value).ToString(DateFormat, CultureInfo.InvariantCulture));
        }
예제 #8
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">Serializer</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            string text;

            if (value is DateTime || value is DateTime?)
            {
                DateTime dateTime = value is DateTime ? (DateTime)value : (value as DateTime?).Value;

                if ((dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                  || (dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                {
                    dateTime = dateTime.ToUniversalTime();
                }

                text = dateTime.ToString(ISODateTimeJsonConverter.DateTimeFormat, CultureInfo.InvariantCulture);
            }
            else
            {
                DateTimeOffset dateTimeOffset = (DateTimeOffset)value;

                if ((dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                  || (dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                    dateTimeOffset = dateTimeOffset.ToUniversalTime();

                text = dateTimeOffset.ToString(DateTimeFormat, CultureInfo.InvariantCulture);
            }

            writer.WriteValue(text);
        }
예제 #9
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value,
     JsonSerializer serializer)
 {
     if (value is Version) {
         var val = (value as Version).ToString();
         writer.WriteValue(val);
     }
 }
예제 #10
0
        protected override void WriteKeys(Newtonsoft.Json.JsonWriter writer)
        {
            if (DateStyle != FieldDateTimeStyle.Unspecified)
            {
                writer.WritePropertyName("dateStyle");
                writer.WriteValue(DateStyle.ToString());
            }

            if (TimeStyle != FieldDateTimeStyle.Unspecified)
            {
                writer.WritePropertyName("timeStyle");
                writer.WriteValue(TimeStyle.ToString());
            }

            writer.WritePropertyName("isRelative");
            writer.WriteValue(IsRelative);
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value)
        {
            CommentCollection c = value as CommentCollection;
            if (c != null)
            {
                writer.WriteStartObject();
                writer.WritePropertyName("Page");
                writer.WriteValue(c.PageNumber);
                writer.WritePropertyName("PageCount");
                writer.WriteValue(c.Pages);
                writer.WritePropertyName("PostLink");
                writer.WriteValue(c.PostLink);

                writer.WritePropertyName("Comments");
                base.WriteJson(writer, value);
                writer.WriteEndObject();
            }
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            IHtmlString source = value as IHtmlString;
            if (source == null) {
                return;
            }

            writer.WriteValue(source.ToString());
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is Margins)
            {
                writer.WriteValue(((Margins)value).ToString());
            }

            return;
        }
예제 #14
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value is ShadowMode)
     {
         ShadowMode shadow = (ShadowMode)value;
         switch (shadow)
         {
             case ShadowMode.None:
                 writer.WriteValue(false);
                 break;
             case ShadowMode.Sides:
             case ShadowMode.Frame:
             case ShadowMode.Drop:
                 writer.WriteValue(shadow.ToString().ToLowerInvariant());
                 break;
             default:
                 throw new ArgumentOutOfRangeException();
         }
     }
 }
예제 #15
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            //writer.WriteValue(((DateTime)value).ToString("d", CultureInfo.CreateSpecificCulture("fr-BE")));
            writer.WriteValue(((DateTime)value).ToString("dd/MM/yyyy hh:mm"));

            // General Datetime pattern (short-time) 6/15/2009 1:45:30 PM -> 6/15/2009 1:45:30 PM (en-US)
            //writer.WriteValue(((DateTime)value).ToString("g", CultureInfo.CreateSpecificCulture("en-US")));

            // Full date/time pattern (short time) 6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45 PM (en-US)
            //writer.WriteValue(((DateTime)value).ToString("f", CultureInfo.CreateSpecificCulture("en-US")));
        }
예제 #16
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            string temp = (string)value ?? "";

            if (temp.IsNotEmpty())
            {
                if (temp.StartsWith("<raw>"))
                {
                    writer.WriteRawValue(temp.Remove(0,5));
                }
                else
                {
                    writer.WriteValue(temp);
                }

                return;
            }
            writer.WriteValue("");

            return;
        }
예제 #17
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if (value is WeiboDateTime)
            {
                writer.WriteValue(value.ToString());
            }

            if (value is DateTime)
            {
                var dateTime = (DateTime)value;

            }
        }
예제 #18
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            string temp = (string)value ?? "";

            if (temp.IsNotEmpty())
            {
                string rawMarker = TokenUtils.Settings.RawMarker;
                if (temp.StartsWith(rawMarker))
                {
                    writer.WriteRawValue(temp.Remove(0,rawMarker.Length));
                }
                else
                {
                    writer.WriteValue(temp);
                }

                return;
            }
            writer.WriteValue("");

            return;
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            var dr = (DateRange)value;
            var val = "";
            if (dr.StartDate.HasValue) {
                val += String.Format("/Date({0})/", ToUnixTicks(dr.StartDate.Value));
            }
            val += "-";

            if (dr.EndDate.HasValue) {
                val += String.Format("/Date({0})/", ToUnixTicks(dr.StartDate.Value));
            }
            writer.WriteValue(val);
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is string)
            {
                string temp = (string)value;

                if (temp.IsNotEmpty())
                {
                    writer.WriteValue(DateTimeUtils.ConvertNetToPHP(temp));
                    return;
                }
            }
            writer.WriteRawValue(null);
        }
예제 #21
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var attribute = value as DataService.Attribute;
            if( attribute != null )
            {
                writer.WritePropertyName( attribute.Key.ToString( System.Globalization.CultureInfo.InvariantCulture ) );
                writer.WriteValue( attribute.Value );
            }
            else
            {
                writer.WriteStartObject();

                var attributes = (DataService.Attribute[])value;
                if( attributes != null && attributes.Length > 0 )
                {
                    foreach( var att in attributes )
                    {
                        writer.WritePropertyName( att.Key.ToString( System.Globalization.CultureInfo.InvariantCulture ) );
                        writer.WriteValue( att.Value );
                    }
                }
                writer.WriteEndObject();
            }
        }
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var catEntry = value as CatalogEntry;
            if( catEntry != null )
            {
                writer.WriteStartObject();
                writer.WritePropertyName( "key" );
                writer.WriteValue( catEntry.Key );

                if( catEntry.Attributes.Length > 0 )
                {
                    writer.WritePropertyName( "attributes" );
                    serializer.Serialize( writer, catEntry.Attributes );
                }
                writer.WriteEndObject();
            }
        }
예제 #23
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if (!(value is DateTime))
            {
                throw new Exception("Unexpected type, shame on you");
            }

            var unix = new DateTime(1970, 1, 1);
            var delta = ((DateTime)value) - unix;

            if (delta.TotalSeconds < 0)
            {
                throw new Exception("1970.01.01, let me google that for you");
            }

            writer.WriteValue((long)delta.TotalMilliseconds);
        }
예제 #24
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     if (value is DateTime)
     {
         var dt = (DateTime)value;
         writer.WriteStartConstructor("DateTime");
         writer.WriteValue(dt.Year);
         writer.WriteValue(dt.Month);
         writer.WriteValue(dt.Day);
         writer.WriteValue(dt.Hour);
         writer.WriteValue(dt.Minute);
         writer.WriteValue(dt.Second);
         writer.WriteValue(dt.Millisecond);
         writer.WriteEndConstructor();
     }
 }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            LoadMask mask = value as LoadMask;

            if (mask != null && mask.ShowMask)
            {
                string jsonMask = new ClientConfig().Serialize(mask);

                if (jsonMask.IsEmpty() || jsonMask.Equals("{}"))
                {
                    writer.WriteValue(true);
                }
                else
                {
                    writer.WriteRawValue(jsonMask);
                }
            }
        }
예제 #26
0
        public override void WriteValue(object Value, Newtonsoft.Json.JsonWriter Writer, MudObject Owner)
        {
            var contents = Value as Dictionary<RelativeLocations, List<MudObject>>;
            if (contents == null) throw new InvalidOperationException();

            Writer.WriteStartObject();

            foreach (var relloc in contents)
            {
                Writer.WritePropertyName(RelativeLocationToString(relloc.Key));
                Writer.WriteStartArray();

                foreach (var mudObject in relloc.Value.Where(o => o.IsNamedObject && o.IsInstance))
                    Writer.WriteValue(mudObject.GetFullName());

                Writer.WriteEndArray();
            }

            Writer.WriteEndObject();
        }
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     long ticks;
     if (value is DateTime)
     {
         var epoc = new DateTime(1970, 1, 1);
         var delta = ((DateTime)value) - epoc;
         if (delta.TotalMilliseconds < 0)
         {
             throw new ArgumentOutOfRangeException(
                 "Unix epoc starts January 1st, 1970");
         }
         ticks = (long)delta.TotalMilliseconds;
     }
     else
     {
         throw new Exception("Expected date object value.");
     }
     writer.WriteValue(ticks);
 }
예제 #28
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     //Not sure if this is correct :D
     writer.WriteValue(((DateTime)value).Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
 }
예제 #29
0
        /// <summary>
        /// Writes the json.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The serializer.</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
            DataTable table = value as DataTable;

            writer.WriteStartObject();

            writer.WritePropertyName("TableName");
            writer.WriteValue(table.TableName);

            writer.WritePropertyName("Columns");
            writer.WriteStartArray();

            foreach (DataColumn column in table.Columns) {
                writer.WriteStartObject();

                writer.WritePropertyName("AllowDBNull");
                writer.WriteValue(column.AllowDBNull);
                writer.WritePropertyName("AutoIncrement");
                writer.WriteValue(column.AutoIncrement);
                writer.WritePropertyName("AutoIncrementSeed");
                writer.WriteValue(column.AutoIncrementSeed);
                writer.WritePropertyName("AutoIncrementStep");
                writer.WriteValue(column.AutoIncrementStep);
                writer.WritePropertyName("Caption");
                writer.WriteValue(column.Caption);
                writer.WritePropertyName("ColumnName");
                writer.WriteValue(column.ColumnName);
                writer.WritePropertyName("DataType");
                writer.WriteValue(column.DataType.Name);
                writer.WritePropertyName("DateTimeMode");
                writer.WriteValue(column.DateTimeMode.ToString());
                writer.WritePropertyName("DefaultValue");
                writer.WriteValue(column.DefaultValue);
                writer.WritePropertyName("MaxLength");
                writer.WriteValue(column.MaxLength);
                writer.WritePropertyName("Ordinal");
                writer.WriteValue(column.Ordinal);
                writer.WritePropertyName("ReadOnly");
                writer.WriteValue(column.ReadOnly);
                writer.WritePropertyName("Unique");
                writer.WriteValue(column.Unique);

                writer.WriteEndObject();
            }

            writer.WriteEndArray();

            writer.WritePropertyName("Rows");
            writer.WriteStartArray();

            foreach (DataRow row in table.Rows) {
                if (row.RowState != DataRowState.Deleted && row.RowState != DataRowState.Detached) {
                    writer.WriteStartArray();

                    for (int index = 0; index <= table.Columns.Count - 1; index++) {
                        writer.WriteValue(row[index]);
                    }

                    writer.WriteEndArray();
                }
            }

            writer.WriteEndArray();

            // Write out primary key if the table has one. This will be useful when deserializing the table.
            // We will write it out as an array of column names
            writer.WritePropertyName("PrimaryKey");
            writer.WriteStartArray();
            if (table.PrimaryKey.Length > 0) {
                foreach (DataColumn column in table.PrimaryKey) {
                    writer.WriteValue(column.ColumnName);
                }
            }
            writer.WriteEndArray();

            writer.WriteEndObject();
        }
예제 #30
0
 protected override void WriteValue(Newtonsoft.Json.JsonWriter writer)
 {
     writer.WriteValue(Value.ToString("yyyy-MM-ddTHH:mmZ"));
 }