Example #1
0
        public async Task CreateOrUpdateContactAsync(Contact contact)
        {
            if (string.IsNullOrEmpty(contact.Id))
            {
                contact.Id = Guid.NewGuid().ToString();
            }

            ContactEntity contactEntity = await _contactEntityTable.FirstOrDefaultAsync(x => x.Id == contact.Id);

            if (contactEntity is null)
            {
                ContactEntity entity = contact.CreateEntity();
                await _database.InsertAsync(entity);
            }
            else
            {
                contactEntity.Update(contact);
                await _database.UpdateAsync(contactEntity);
            }
        }
Example #2
0
        public async Task TestAsyncTableQueryToFirstOrDefaultAsyncMissing()
        {
            SQLiteAsyncConnection conn = GetAsyncConnection();
            await conn.CreateTableAsync <Customer>();

            // create...
            Customer customer = CreateCustomer();
            await conn.InsertAsync(customer);

            // query...
            AsyncTableQuery <Customer> query = conn.Table <Customer>().Where(v => v.Id == -1);
            Customer loaded = await query.FirstOrDefaultAsync();

            // check...
            Assert.IsNull(loaded);
        }
Example #3
0
        public async Task TestAsyncTableQueryToFirstOrDefaultAsyncFound()
        {
            SQLiteAsyncConnection conn = GetAsyncConnection();
            await conn.CreateTableAsync <Customer>();

            // create...
            Customer customer = CreateCustomer();
            await conn.InsertAsync(customer);

            // query...
            AsyncTableQuery <Customer> query = conn.Table <Customer>().Where(v => v.Id == customer.Id);
            Customer loaded = await query.FirstOrDefaultAsync();

            // check...
            Assert.AreEqual(customer.Email, loaded.Email);
        }
Example #4
0
        public void TestAsyncTableQueryToFirstOrDefaultAsyncMissing()
        {
            SQLiteAsyncConnection conn = GetConnection();

            conn.CreateTableAsync <Customer>().Wait();

            // create...
            Customer customer = CreateCustomer();

            conn.InsertAsync(customer).Wait();

            // query...
            AsyncTableQuery <Customer> query = conn.Table <Customer>().Where(v => v.Id == -1);
            Task <Customer>            task  = query.FirstOrDefaultAsync();

            task.Wait();
            Customer loaded = task.Result;

            // check...
            Assert.IsNull(loaded);
        }
Example #5
0
        public void TestAsyncTableQueryToFirstOrDefaultAsyncFound()
        {
            SQLiteAsyncConnection conn = GetConnection();

            conn.CreateTableAsync <Customer>().Wait();

            // create...
            Customer customer = CreateCustomer();

            conn.InsertAsync(customer).Wait();

            // query...
            AsyncTableQuery <Customer> query = conn.Table <Customer>().Where(v => v.Id == customer.Id);
            Task <Customer>            task  = query.FirstOrDefaultAsync();

            task.Wait();
            Customer loaded = task.Result;

            // check...
            Assert.AreEqual(customer.Email, loaded.Email);
        }
 public static Task <IOption <B> > FirstOption <A, B>(this AsyncTableQuery <A> tableQuery)
     where A : new()
     where B : class
 {
     return(tableQuery.FirstOrDefaultAsync().Map(a => a.As <B>()));
 }
 //Custom Any implementations due to lack of method in SQLite
 public static bool Any(this AsyncTableQuery <User> res) => res.FirstOrDefaultAsync().Result != null;