Ejemplo n.º 1
0
        public async Task UpsertAsync_ThenReadAsync_AllTypes()
        {
            TestUtilities.DropTestTable(TestDbName, TestTable);

            // first create a table called todo
            using (MobileServiceSQLiteStore store = new MobileServiceSQLiteStore(TestDbName))
            {
                store.DefineTable(TestTable, JObjectTypes.GetObjectWithAllTypes());

                await store.InitializeAsync();

                var upserted = new JObject()
                {
                    { "id", "xyz" },
                    { "Object", new JObject()
                      {
                          { "id", "abc" }
                      } },
                    { "Array", new JArray()
                      {
                          new JObject()
                          {
                              { "id", 3 }
                          }
                      } },
                    { "Integer", 123L },
                    { "Float", 12.5m },
                    { "String", "def" },
                    { "Boolean", true },
                    { "Date", new DateTime(2003, 5, 6, 4, 5, 1, DateTimeKind.Utc) },
                    { "Bytes", new byte[] { 1, 2, 3 } },
                    { "Guid", new Guid("AB3EB1AB-53CD-4780-928B-A7E1CB7A927C") },
                    { "TimeSpan", new TimeSpan(1234) }
                };
                await store.UpsertAsync(TestTable, new[] { upserted }, false);

                var query = new MobileServiceTableQueryDescription(TestTable);
                var items = await store.ReadAsync(query) as JArray;

                Assert.IsNotNull(items);
                Assert.AreEqual(items.Count, 1);

                var lookedup = items.First as JObject;
                Assert.AreEqual(upserted.ToString(Formatting.None), lookedup.ToString(Formatting.None));
            }
        }
Ejemplo n.º 2
0
        public async Task DefineTable_Succeeds_WithAllTypes()
        {
            var item = JObjectTypes.GetObjectWithAllTypes();

            var columns = new[]
            {
                new ColumnDefinition("id", JTokenType.String, SqlColumnType.Text),
                new ColumnDefinition("Object", JTokenType.Object, SqlColumnType.Json),
                new ColumnDefinition("Array", JTokenType.Array, SqlColumnType.Json),
                new ColumnDefinition("Integer", JTokenType.Integer, SqlColumnType.Integer),
                new ColumnDefinition("Float", JTokenType.Float, SqlColumnType.Float),
                new ColumnDefinition("String", JTokenType.String, SqlColumnType.Text),
                new ColumnDefinition("Boolean", JTokenType.Boolean, SqlColumnType.Boolean),
                new ColumnDefinition("Date", JTokenType.Date, SqlColumnType.DateTime),
                new ColumnDefinition("Bytes", JTokenType.Bytes, SqlColumnType.Blob),
                new ColumnDefinition("Guid", JTokenType.Guid, SqlColumnType.Guid),
                new ColumnDefinition("TimeSpan", JTokenType.TimeSpan, SqlColumnType.TimeSpan)
            };

            await TestDefineTable(item, "AllTypes", columns);
        }