// 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: 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)); }