// Token: 0x06001563 RID: 5475 RVA: 0x00066B28 File Offset: 0x00064D28 private string vmethod_3935(Class_296 arg_0, object obje_0, Class_349 arg_1, out bool arg_2) { if (arg_1.field_5 == Class_448.Primitive) { Class_369 class_ = (Class_369)arg_1; if (class_.prop_0 == Class_496.DateTime || class_.prop_0 == Class_496.DateTimeNullable) { arg_2 = false; StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture); Class_502.WriteDateTimeString(stringWriter, (DateTime)obje_0, arg_0.prop_6, arg_0.prop_10, arg_0.prop_11); return(stringWriter.ToString()); } if (class_.prop_0 == Class_496.DateTimeOffset || class_.prop_0 == Class_496.DateTimeOffsetNullable) { arg_2 = false; StringWriter stringWriter2 = new StringWriter(CultureInfo.InvariantCulture); Class_502.WriteDateTimeOffsetString(stringWriter2, (DateTimeOffset)obje_0, arg_0.prop_6, arg_0.prop_10, arg_0.prop_11); return(stringWriter2.ToString()); } arg_2 = true; return(Convert.ToString(obje_0, CultureInfo.InvariantCulture)); } else { string result; if (Class_467.gmethod_3913(obje_0, obje_0.GetType(), out result)) { arg_2 = true; return(result); } arg_2 = true; return(obje_0.ToString()); } }
// Token: 0x06000ADF RID: 2783 RVA: 0x0003ED2C File Offset: 0x0003CF2C internal DateTimeOffset?gmethod_1893() { this.field_4 = Class_408.ReadAsDateTimeOffset; while (this.tmethod_1892()) { Class_508 class_ = this.prop_9; if (class_ != Class_508.Comment) { if (class_ == Class_508.Date) { if (this.prop_10 is DateTime) { this.gmethod_1903(Class_508.Date, new DateTimeOffset((DateTime)this.prop_10), false); } return(new DateTimeOffset?((DateTimeOffset)this.prop_10)); } if (class_ == Class_508.Null) { return(null); } if (class_ == Class_508.String) { string text = (string)this.prop_10; if (string.IsNullOrEmpty(text)) { this.xmethod_1901(Class_508.Null); return(null); } object obj; DateTimeOffset dateTimeOffset; if (Class_502.TryParseDateTime(text, Class_320.DateTimeOffset, this.prop_4, this.field_12, this.prop_14, out obj)) { dateTimeOffset = (DateTimeOffset)obj; this.gmethod_1903(Class_508.Date, dateTimeOffset, false); return(new DateTimeOffset?(dateTimeOffset)); } if (DateTimeOffset.TryParse(text, this.prop_14, DateTimeStyles.RoundtripKind, out dateTimeOffset)) { this.gmethod_1903(Class_508.Date, dateTimeOffset, false); return(new DateTimeOffset?(dateTimeOffset)); } throw Class_414.lmethod_3098(this, "Could not convert string to DateTimeOffset: {0}.".FormatWith(CultureInfo.InvariantCulture, this.prop_10)); } else { if (class_ == Class_508.EndArray) { return(null); } throw Class_414.lmethod_3098(this, "Error reading date. Unexpected token: {0}.".FormatWith(CultureInfo.InvariantCulture, class_)); } } } this.xmethod_1901(Class_508.None); return(null); }
// Token: 0x060010EE RID: 4334 RVA: 0x0005528C File Offset: 0x0005348C public static string ToString(DateTimeOffset value, Class_319 format) { string result; using (StringWriter stringWriter = Class_515.CreateStringWriter(64)) { stringWriter.Write('"'); Class_502.WriteDateTimeOffsetString(stringWriter, value, format, null, CultureInfo.InvariantCulture); stringWriter.Write('"'); result = stringWriter.ToString(); } return(result); }
// Token: 0x060010EC RID: 4332 RVA: 0x00055218 File Offset: 0x00053418 public static string ToString(DateTime value, Class_319 format, Class_321 timeZoneHandling) { DateTime value2 = Class_502.EnsureDateTime(value, timeZoneHandling); string result; using (StringWriter stringWriter = Class_515.CreateStringWriter(64)) { stringWriter.Write('"'); Class_502.WriteDateTimeString(stringWriter, value2, format, null, CultureInfo.InvariantCulture); stringWriter.Write('"'); result = stringWriter.ToString(); } return(result); }
// Token: 0x06001034 RID: 4148 RVA: 0x000518E8 File Offset: 0x0004FAE8 private string xmethod_2971(Class_285 arg_0) { if (arg_0.prop_9 == Class_508.String) { return(arg_0.prop_10.ToString()); } if (arg_0.prop_9 == Class_508.Integer) { return(XmlConvert.ToString(Convert.ToInt64(arg_0.prop_10, CultureInfo.InvariantCulture))); } if (arg_0.prop_9 == Class_508.Float) { if (arg_0.prop_10 is decimal) { return(XmlConvert.ToString((decimal)arg_0.prop_10)); } if (arg_0.prop_10 is float) { return(XmlConvert.ToString((float)arg_0.prop_10)); } return(XmlConvert.ToString(Convert.ToDouble(arg_0.prop_10, CultureInfo.InvariantCulture))); } else { if (arg_0.prop_9 == Class_508.Boolean) { return(XmlConvert.ToString(Convert.ToBoolean(arg_0.prop_10, CultureInfo.InvariantCulture))); } if (arg_0.prop_9 == Class_508.Date) { if (arg_0.prop_10 is DateTimeOffset) { return(XmlConvert.ToString((DateTimeOffset)arg_0.prop_10)); } DateTime value = Convert.ToDateTime(arg_0.prop_10, CultureInfo.InvariantCulture); return(XmlConvert.ToString(value, Class_502.ToSerializationMode(value.Kind))); } else { if (arg_0.prop_9 == Class_508.Null) { return(null); } throw Class_417.xmethod_3101(arg_0, "Cannot get an XML string value from token type '{0}'.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9)); } } }
// Token: 0x060010C8 RID: 4296 RVA: 0x00054DE4 File Offset: 0x00052FE4 public virtual void pmethod_3079(DateTimeOffset arg_0) { base.dmethod_2086(Class_508.Date); if (string.IsNullOrEmpty(base.prop_10)) { this.vmethod_3085(); int num = 0; this.field_7[num++] = this.field_4; num = Class_502.WriteDateTimeString(this.field_7, num, (base.prop_6 == Class_319.IsoDateFormat) ? arg_0.DateTime : arg_0.UtcDateTime, new TimeSpan?(arg_0.Offset), DateTimeKind.Local, base.prop_6); this.field_7[num++] = this.field_4; this.field_0.Write(this.field_7, 0, num); return; } this.field_0.Write(this.field_4); this.field_0.Write(arg_0.ToString(base.prop_10, base.prop_11)); this.field_0.Write(this.field_4); }
// Token: 0x060010C6 RID: 4294 RVA: 0x00054CAC File Offset: 0x00052EAC public virtual void kmethod_3077(DateTime arg_0) { base.dmethod_2086(Class_508.Date); arg_0 = Class_502.EnsureDateTime(arg_0, base.prop_7); if (string.IsNullOrEmpty(base.prop_10)) { this.vmethod_3085(); int num = 0; this.field_7[num++] = this.field_4; num = Class_502.WriteDateTimeString(this.field_7, num, arg_0, null, arg_0.Kind, base.prop_6); this.field_7[num++] = this.field_4; this.field_0.Write(this.field_7, 0, num); return; } this.field_0.Write(this.field_4); this.field_0.Write(arg_0.ToString(base.prop_10, base.prop_11)); this.field_0.Write(this.field_4); }
// Token: 0x06000F81 RID: 3969 RVA: 0x0004FEA4 File Offset: 0x0004E0A4 public virtual void lmethod_2808(Class_296 arg_0, object obje_0, Class_418 arg_1) { long sayıUınt_; if (obje_0 is DateTime) { DateTime dateTime = ((DateTime)obje_0).ToUniversalTime(); sayıUınt_ = Class_502.ConvertDateTimeToJavaScriptTicks(dateTime); } else { if (!(obje_0 is DateTimeOffset)) { throw new Class_417("Expected date object value."); } sayıUınt_ = Class_502.ConvertDateTimeToJavaScriptTicks(((DateTimeOffset)obje_0).ToUniversalTime().UtcDateTime); } arg_0.xmethod_2011("Date"); arg_0.smethod_2040(sayıUınt_); arg_0.tmethod_2012(); }
// Token: 0x06000F82 RID: 3970 RVA: 0x0004FF28 File Offset: 0x0004E128 public virtual object pmethod_2809(Class_285 arg_0, Type arg_1, object obje_0, Class_418 arg_2) { Type left = Class_514.IsNullableType(arg_1) ? Nullable.GetUnderlyingType(arg_1) : arg_1; if (arg_0.prop_9 == Class_508.Null) { if (!Class_514.IsNullable(arg_1)) { throw Class_417.xmethod_3101(arg_0, "Cannot convert null value to {0}.".FormatWith(CultureInfo.InvariantCulture, arg_1)); } return(null); } else { if (arg_0.prop_9 != Class_508.StartConstructor || !string.Equals(arg_0.prop_10.ToString(), "Date", StringComparison.Ordinal)) { throw Class_417.xmethod_3101(arg_0, "Unexpected token or value when parsing date. Token: {0}, Value: {1}".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9, arg_0.prop_10)); } arg_0.vmethod_1885(); if (arg_0.prop_9 != Class_508.Integer) { throw Class_417.xmethod_3101(arg_0, "Unexpected token parsing date. Expected Integer, got {0}.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9)); } long javaScriptTicks = (long)arg_0.prop_10; DateTime dateTime = Class_502.ConvertJavaScriptTicksToDateTime(javaScriptTicks); arg_0.vmethod_1885(); if (arg_0.prop_9 != Class_508.EndConstructor) { throw Class_417.xmethod_3101(arg_0, "Unexpected token parsing date. Expected EndConstructor, got {0}.".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_9)); } if (left == typeof(DateTimeOffset)) { return(new DateTimeOffset(dateTime)); } return(dateTime); } }
// Token: 0x060012E6 RID: 4838 RVA: 0x0005A792 File Offset: 0x00058992 public virtual void cmethod_3424(DateTime arg_0) { base.xmethod_2051(arg_0); arg_0 = Class_502.EnsureDateTime(arg_0, base.prop_7); this.gmethod_3403(arg_0, Class_508.Date); }
// Token: 0x06000BD6 RID: 3030 RVA: 0x00042448 File Offset: 0x00040648 public virtual void tmethod_2122(DateTime arg_0) { base.xmethod_2051(arg_0); arg_0 = Class_502.EnsureDateTime(arg_0, base.prop_7); this.gmethod_2103(arg_0, Class_295.Date); }
// Token: 0x06000B0D RID: 2829 RVA: 0x0003FF24 File Offset: 0x0003E124 private void vmethod_1935(Class_295 arg_0) { switch (arg_0) { case Class_295.Number: { double num = this.gmethod_1943(); if (this.field_11 == Class_315.Decimal) { base.tmethod_1902(Class_508.Float, Convert.ToDecimal(num, CultureInfo.InvariantCulture)); return; } base.tmethod_1902(Class_508.Float, num); return; } case Class_295.String: case Class_295.Symbol: base.tmethod_1902(Class_508.String, this.lmethod_1938()); return; case Class_295.Object: { base.xmethod_1901(Class_508.StartObject); Class_286.NClass_1 nclass_ = new Class_286.NClass_1(Class_295.Object); this.gmethod_1933(nclass_); nclass_.field_27 = this.cmethod_1944(); return; } case Class_295.Array: { base.xmethod_1901(Class_508.StartArray); Class_286.NClass_1 nclass_2 = new Class_286.NClass_1(Class_295.Array); this.gmethod_1933(nclass_2); nclass_2.field_27 = this.cmethod_1944(); return; } case Class_295.Binary: { Class_283 class_; byte[] array = this.dmethod_1936(out class_); object obje_ = (class_ != Class_283.Uuid) ? array : new Guid(array); base.tmethod_1902(Class_508.Bytes, obje_); return; } case Class_295.Undefined: base.xmethod_1901(Class_508.Undefined); return; case Class_295.Oid: { byte[] obje_2 = this.lmethod_1948(12); base.tmethod_1902(Class_508.Bytes, obje_2); return; } case Class_295.Boolean: { bool flag = Convert.ToBoolean(this.cmethod_1934()); base.tmethod_1902(Class_508.Boolean, flag); return; } case Class_295.Date: { long javaScriptTicks = this.vmethod_1945(); DateTime dateTime = Class_502.ConvertJavaScriptTicksToDateTime(javaScriptTicks); DateTime dateTime2; switch (this.prop_2) { case DateTimeKind.Unspecified: dateTime2 = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified); goto IL_1A7; case DateTimeKind.Local: dateTime2 = dateTime.ToLocalTime(); goto IL_1A7; } dateTime2 = dateTime; IL_1A7: base.tmethod_1902(Class_508.Date, dateTime2); return; } case Class_295.Null: base.xmethod_1901(Class_508.Null); return; case Class_295.Regex: { string str = this.kmethod_1937(); string str2 = this.kmethod_1937(); string obje_3 = "/" + str + "/" + str2; base.tmethod_1902(Class_508.String, obje_3); return; } case Class_295.Reference: base.xmethod_1901(Class_508.StartObject); this.field_10 = Class_286.NClass_0.field_18; return; case Class_295.Code: base.tmethod_1902(Class_508.String, this.lmethod_1938()); return; case Class_295.CodeWScope: base.xmethod_1901(Class_508.StartObject); this.field_10 = Class_286.NClass_0.field_21; return; case Class_295.Integer: base.tmethod_1902(Class_508.Integer, (long)this.cmethod_1944()); return; case Class_295.TimeStamp: case Class_295.Long: base.tmethod_1902(Class_508.Integer, this.vmethod_1945()); return; default: throw new ArgumentOutOfRangeException("type", "Unexpected BsonType value: " + arg_0); } }
// Token: 0x06000AB3 RID: 2739 RVA: 0x0003E1F4 File Offset: 0x0003C3F4 private void xmethod_1851(Class_287 arg_0) { switch (arg_0.prop_0) { case Class_295.Number: { Class_290 class_ = (Class_290)arg_0; this.field_1.Write(Convert.ToDouble(class_.prop_0, CultureInfo.InvariantCulture)); return; } case Class_295.String: { Class_291 class_2 = (Class_291)arg_0; this.tmethod_1852((string)class_2.prop_0, class_2.prop_0, new int?(class_2.prop_2 - 4)); return; } case Class_295.Object: { Class_288 class_3 = (Class_288)arg_0; this.field_1.Write(class_3.prop_2); using (IEnumerator <Class_294> enumerator = class_3.dmethod_1956()) { while (enumerator.MoveNext()) { Class_294 class_4 = enumerator.Current; this.field_1.Write((sbyte)class_4.prop_1.prop_0); this.tmethod_1852((string)class_4.prop_0.prop_0, class_4.prop_0.prop_0, null); this.xmethod_1851(class_4.prop_1); } } this.field_1.Write(0); return; } case Class_295.Array: { Class_289 class_5 = (Class_289)arg_0; this.field_1.Write(class_5.prop_2); ulong num = 0UL; using (IEnumerator <Class_287> enumerator2 = class_5.smethod_1960()) { while (enumerator2.MoveNext()) { Class_287 class_6 = enumerator2.Current; this.field_1.Write((sbyte)class_6.prop_0); this.tmethod_1852(num.ToString(CultureInfo.InvariantCulture), Class_511.IntLength(num), null); this.xmethod_1851(class_6); num += 1UL; } } this.field_1.Write(0); return; } case Class_295.Binary: { Class_292 class_7 = (Class_292)arg_0; byte[] array = (byte[])class_7.prop_0; this.field_1.Write(array.Length); this.field_1.Write((byte)class_7.prop_0); this.field_1.Write(array); return; } case Class_295.Undefined: case Class_295.Null: return; case Class_295.Oid: { Class_290 class_8 = (Class_290)arg_0; byte[] buffer = (byte[])class_8.prop_0; this.field_1.Write(buffer); return; } case Class_295.Boolean: { Class_290 class_9 = (Class_290)arg_0; this.field_1.Write((bool)class_9.prop_0); return; } case Class_295.Date: { Class_290 class_10 = (Class_290)arg_0; long value; if (class_10.prop_0 is DateTime) { DateTime dateTime = (DateTime)class_10.prop_0; if (this.prop_0 == DateTimeKind.Utc) { dateTime = dateTime.ToUniversalTime(); } else if (this.prop_0 == DateTimeKind.Local) { dateTime = dateTime.ToLocalTime(); } value = Class_502.ConvertDateTimeToJavaScriptTicks(dateTime, false); } else { DateTimeOffset dateTimeOffset = (DateTimeOffset)class_10.prop_0; value = Class_502.ConvertDateTimeToJavaScriptTicks(dateTimeOffset.UtcDateTime, dateTimeOffset.Offset); } this.field_1.Write(value); return; } case Class_295.Regex: { Class_293 class_11 = (Class_293)arg_0; this.tmethod_1852((string)class_11.prop_0.prop_0, class_11.prop_0.prop_0, null); this.tmethod_1852((string)class_11.prop_1.prop_0, class_11.prop_1.prop_0, null); return; } case Class_295.Integer: { Class_290 class_12 = (Class_290)arg_0; this.field_1.Write(Convert.ToInt32(class_12.prop_0, CultureInfo.InvariantCulture)); return; } case Class_295.Long: { Class_290 class_13 = (Class_290)arg_0; this.field_1.Write(Convert.ToInt64(class_13.prop_0, CultureInfo.InvariantCulture)); return; } } throw new ArgumentOutOfRangeException("t", "Unexpected token when writing BSON: {0}".FormatWith(CultureInfo.InvariantCulture, arg_0.prop_0)); }