public async Task AsyncFilterSelectOrderingOperationsNotImpactedBySystemProperties()
        {
            await EnsureEmptyTableAsync <RoundTripTableItemWithSystemPropertiesType>();

            IMobileServiceTable <RoundTripTableItemWithSystemPropertiesType> table = GetClient().GetTable <RoundTripTableItemWithSystemPropertiesType>();
            List <RoundTripTableItemWithSystemPropertiesType> items = new List <RoundTripTableItemWithSystemPropertiesType>();

            // Insert some items
            for (int id = 0; id < 5; id++)
            {
                RoundTripTableItemWithSystemPropertiesType item = new RoundTripTableItemWithSystemPropertiesType()
                {
                    Id = id.ToString(), Name = "a value"
                };

                await table.InsertAsync(item);

                Assert.NotNull(item.CreatedAt);
                Assert.NotNull(item.UpdatedAt);
                Assert.NotNull(item.Version);
                items.Add(item);
            }

            // Selection
            var selectionResults = await table.Select(t => new { Id = t.Id, CreatedAt = t.CreatedAt }).ToEnumerableAsync();

            var selectedItems = selectionResults.ToArray();

            for (int i = 0; i < selectedItems.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems[i].Id).FirstOrDefault();
                Assert.Equal(item.CreatedAt, selectedItems[i].CreatedAt);
            }

            var selectionResults2 = await table.Select(t => new { Id = t.Id, UpdatedAt = t.UpdatedAt }).ToEnumerableAsync();

            var selectedItems2 = selectionResults2.ToArray();

            for (int i = 0; i < selectedItems2.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems2[i].Id).FirstOrDefault();
                Assert.Equal(item.UpdatedAt, selectedItems2[i].UpdatedAt);
            }

            var selectionResults3 = await table.Select(t => new { Id = t.Id, Version = t.Version }).ToEnumerableAsync();

            var selectedItems3 = selectionResults3.ToArray();

            for (int i = 0; i < selectedItems3.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems3[i].Id).FirstOrDefault();
                Assert.Equal(item.Version, selectedItems3[i].Version);
            }

            // Delete
            foreach (var item in items)
            {
                await table.DeleteAsync(item);
            }
        }
コード例 #2
0
        async void profilePageLoaded(object sender, RoutedEventArgs e)
        {
            try
            {
                var test1 = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.name)
                            .ToEnumerableAsync();

                var test11 = test1.FirstOrDefault();
                nameTb.Text = test11;


                var test2 = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.age)
                            .ToEnumerableAsync();

                var test22 = test2.FirstOrDefault();
                ageTb.Text = Convert.ToString(test22);

                var test3 = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.sex)
                            .ToEnumerableAsync();

                var test33 = test3.FirstOrDefault();
                sexTb.Text = test33;

                var test4 = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.email)
                            .ToEnumerableAsync();

                var test44 = test4.FirstOrDefault();
                emailTb.Text = test44;

                var test5 = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.mobile)
                            .ToEnumerableAsync();

                var test55 = test5.FirstOrDefault();
                phoneTb.Text = test55;
            }


            catch {
                MessageBox.Show("connectivity Problem");
            }
        }
コード例 #3
0
        public async void LoadComboBox()
        {
            MobileServiceInvalidOperationException exception = null;

            try
            {
                ProgressBarBefore();
                deshidratadoras = await DeshTable
                                  .Select(Desh => Desh)
                                  .ToCollectionAsync();

                comboBox.ItemsSource = deshidratadoras;
                ProgressBarAfter();
            }
            catch (MobileServiceInvalidOperationException ex)
            {
                exception = ex;
            }

            if (exception != null)
            {
                await new MessageDialog(exception.Message, "Error al cargar!").ShowAsync();
            }

            if (comboBox.SelectedItem == null)
            {
                BtnActualizar.IsEnabled     = false;
                DatePickerToChart.IsEnabled = false;
            }
            else
            {
                BtnActualizar.IsEnabled     = true;
                DatePickerToChart.IsEnabled = true;
            }
        }
コード例 #4
0
        private async void RefreshTodoItems()
        {
            // The query excludes completed TodoItems
            try
            {
                var names = await profileTable
                            //.Where(t => t.name == "bedant")
                            .Select(t => t.name)
                            .ToEnumerableAsync();

                var myName = names.FirstOrDefault();

                if (myName != null)
                {
                    NavigationService.Navigate(new Uri("/menuPage.xaml", UriKind.Relative));
                }
                else
                {
                    NavigationService.Navigate(new Uri("/BasicDetails.xaml", UriKind.Relative));
                }

                //string a = myName;
                //myname.Text = a;
            }
            catch (MobileServiceInvalidOperationException e)
            {
                MessageBox.Show(e.Message, "Error loading items", MessageBoxButton.OK);
            }
        }
コード例 #5
0
        public async Task DoWork()
        {
            telemetryTable = client.GetTable <Telemetry>();
            var entries = await telemetryTable.Select(e => e.value).ToListAsync();

            foreach (var entry in entries)
            {
                Console.WriteLine(entry);
            }

            var messageTable = client.GetTable <Messages>();

            while (true)
            {
                Console.WriteLine("Type Message");
                var input = Console.ReadLine();
                var msg   = input;
                Console.WriteLine("Type R value");
                input = Console.ReadLine();
                var r = Int32.Parse(input ?? "0");
                Console.WriteLine("Type G value");
                input = Console.ReadLine();
                var g = Int32.Parse(input ?? "0");
                Console.WriteLine("Type B value");
                input = Console.ReadLine();
                var b = Int32.Parse(input ?? "0");

                var message = new Messages {
                    R = r, G = g, B = b, Message = msg
                };
                await messageTable.InsertAsync(message);
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: manasdas17/IoT-Workshop
        public async Task DoWork()
        {
            telemetryTable = client.GetTable<Telemetry>();
            var entries = await telemetryTable.Select(e => e.value).ToListAsync();
            foreach (var entry in entries)
            {
                Console.WriteLine(entry);
            }

            var messageTable = client.GetTable<Messages>();
            while (true)
            {
                Console.WriteLine("Type Message");
                var input = Console.ReadLine();
                var msg = input;
                Console.WriteLine("Type R value");
                input = Console.ReadLine();
                var r = Int32.Parse(input ?? "0");
                Console.WriteLine("Type G value");
                input = Console.ReadLine();
                var g = Int32.Parse(input ?? "0");
                Console.WriteLine("Type B value");
                input = Console.ReadLine();
                var b = Int32.Parse(input ?? "0");

                var message = new Messages { R = r, G = g, B = b, Message = msg };
                await messageTable.InsertAsync(message);
            }
        }
コード例 #7
0
        async void suggestionPageLoaded(object sender, RoutedEventArgs e)
        {
            var test1 = await caseTable
                        //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                        .Select(t => t.treatment_advised)
                        .ToEnumerableAsync();

            var test11 = test1.FirstOrDefault();

            sug.Text = test11;
        }
コード例 #8
0
        async void prescription_page_laded(object sender, RoutedEventArgs e)
        {
            var test1 = await profileTable
                        //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                        .Select(t => t.name)
                        .ToEnumerableAsync();

            var test11 = test1.FirstOrDefault();

            nameDisplay.Text = test11;
        }
コード例 #9
0
ファイル: MainPage.xaml.cs プロジェクト: carlosmhw/Centauro
        private async void button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ProgressBarBefore();
                usuarios = await UsuarioTable
                           .Select(Usuarios => Usuarios)
                           .Where(Usuarios => Usuarios.id == textBoxUser.Text && Usuarios.contrasena == passwordBox.Password.ToString())
                           .ToCollectionAsync();

                ProgressBarAfter();
                if (usuarios.Count >= 1)
                {
                    var rsUsuario = usuarios.First();

                    if (rsUsuario.Tipo == "Tecnico")
                    {
                        Frame.Navigate(typeof(Administrador), "Tecnico");
                    }
                    else
                    {
                        Frame.Navigate(typeof(Administrador), "Administrador");
                    }
                }
                else
                {
                    MessageDialog mensaje = new MessageDialog("Usuario o contraseña incorrectos.", "Credenciales invalidas");
                    await mensaje.ShowAsync();
                }
            }
            catch (MobileServiceInvalidOperationException ex)
            {
                exception = ex;
            }

            if (exception != null)
            {
                await new MessageDialog(exception.Message, "Error!").ShowAsync();
            }
        }
コード例 #10
0
ファイル: Tecnico.xaml.cs プロジェクト: carlosmhw/Centauro
        private async void radioButtonBuscar_Checked(object sender, RoutedEventArgs e)
        {
            disableTexBox();
            comboBoxIdTecnicoEditar.IsEnabled = true;
            buttonEliminar.Visibility         = Visibility.Collapsed;
            textBlockTitleNewEdit.Text        = "Busqueda de Técnico";
            //enableRegistro();

            comboBoxIdTecnicoEditar.DisplayMemberPath = "id";
            comboBoxIdTecnicoEditar.SelectedValuePath = "id";

            try
            {
                ProgressBarBefore();
                usuarios = await UsuariosTable
                           .Select(Usuarios => Usuarios)
                           .Where(Usuarios => Usuarios.Tipo == "Tecnico")
                           .ToCollectionAsync();

                comboBoxIdTecnicoEditar.ItemsSource = usuarios;
                ProgressBarAfter();
                if (usuarios.Count >= 1)
                {
                    comboBoxIdTecnicoEditar.SelectedIndex = 0;
                }
                else
                {
                    MessageDialog mensaje = new MessageDialog("No existen tecnicos registrados.", "Sin registros");
                    await mensaje.ShowAsync();
                }
            }
            catch (MobileServiceInvalidOperationException ex)
            {
                exception = ex;
            }
            if (exception != null)
            {
                await new MessageDialog(exception.Message, "Error al cargar!").ShowAsync();
            }
        }
コード例 #11
0
        private async void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //LoadChartContents();
            MobileServiceInvalidOperationException exception = null;
            string idDeshidratadora;
            object selectedItem = comboBox.SelectedValue.ToString();

            idDeshidratadora = selectedItem.ToString();
            try
            {
                ProgressBarBefore();
                DateTime date = DatePickerToChart.Date.DateTime;
                LoadChartContents(date);
                IMobileServiceTableQuery <Deshidratadora> query = DeshTable.Where(Desh => Desh.idDeshidratadora == idDeshidratadora);
                var res = await query.ToListAsync();

                falladesh = await FallaTableDesh
                            .Select(Falla => Falla)
                            .Where(Falla => Falla.idDeshidratadora == idDeshidratadora /*&& Falla.Fecha == date.ToString("yyyy-MM-dd") /*&& Falla.Atendido == "0"*/)
                            .ToCollectionAsync();


                string cantFallas = falladesh.Count().ToString();

                var    item   = res.First();
                string marca  = item.Marca;
                string modelo = item.Modelo;
                string sn     = item.No_Serie;
                textBlockMarca.Text        = marca;
                textBlockModelo.Text       = modelo;
                textBlockNoSerie.Text      = sn;
                textBlockTotalAlertas.Text = cantFallas;
                ProgressBarAfter();
            }
            catch (MobileServiceInvalidOperationException ex)
            {
                exception = ex;
            }
            if (exception != null)
            {
                await new MessageDialog(exception.Message, "Error!").ShowAsync();
            }
        }
コード例 #12
0
        //void BasicDetails_Loaded(object sender, RoutedEventArgs e)
        //{
        //    RefreshTodoItems();
        //}

        //private  void RefreshTodoItems()
        //{
        //    // The query excludes completed TodoItems

        //}



        async void BasicDetails_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                var names = await profileTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.name)
                            .ToEnumerableAsync();

                var myName = names.FirstOrDefault();
                if (myName != null)
                {
                    NavigationService.Navigate(new Uri("/menuPage.xaml", UriKind.Relative));
                }
            }
            catch
            {
                MessageBox.Show("Connectivity Problem");
            }
        }
コード例 #13
0
        public async Task SelectAsyncGeneric()
        {
            TestHttpHandler hijack = new TestHttpHandler();

            hijack.SetResponseContent("[{\"id\":12,\"String\":\"Hey\"}]");
            IMobileServiceClient service = new MobileServiceClient("http://www.test.com", "secret...", hijack);

            IMobileServiceTable <StringType> table = service.GetTable <StringType>();
            StringType me = new StringType();

            me.Id     = 10;
            me.String = "apple";

            List <string> people = await table.Select(p => p.String).ToListAsync();

            Assert.Contains(hijack.Request.RequestUri.ToString(), "StringType");

            Assert.AreEqual(1, people.Count);
            Assert.AreEqual("Hey", people[0]);
        }
コード例 #14
0
 public IMobileServiceTableQuery <T> Select <T>(Expression <Func <DataItem, T> > selector)
 {
     return(m_Table.Select(selector));
 }
コード例 #15
0
        public async Task AsyncTableOperationsWithIntegerAsStringIdAgainstIntIdTable()
        {
            await EnsureEmptyTableAsync <ToDoWithStringIdAgainstIntIdTable>();

            IMobileServiceTable <ToDoWithStringIdAgainstIntIdTable> stringIdTable = GetClient().GetTable <ToDoWithStringIdAgainstIntIdTable>();
            ToDoWithStringIdAgainstIntIdTable item = new ToDoWithStringIdAgainstIntIdTable()
            {
                String = "Hey"
            };

            // Insert
            await stringIdTable.InsertAsync(item);

            string testId = item.Id.ToString();

            // Read
            IEnumerable <ToDoWithStringIdAgainstIntIdTable> results = await stringIdTable.ReadAsync();

            ToDoWithStringIdAgainstIntIdTable[] items = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(testId, items[0].Id);
            Assert.AreEqual("Hey", items[0].String);

            // Filter
            results = await stringIdTable.Where(i => i.Id == testId).ToEnumerableAsync();

            items = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(testId, items[0].Id);
            Assert.AreEqual("Hey", items[0].String);

            // Projection
            var projectedResults = await stringIdTable.Select(i => new { XId = i.Id, XString = i.String }).ToEnumerableAsync();

            var projectedItems = projectedResults.ToArray();

            Assert.AreEqual(1, projectedItems.Count());
            Assert.AreEqual(testId, projectedItems[0].XId);
            Assert.AreEqual("Hey", projectedItems[0].XString);

            // Lookup
            ToDoWithStringIdAgainstIntIdTable stringIdItem = await stringIdTable.LookupAsync(testId);

            Assert.AreEqual(testId, stringIdItem.Id);
            Assert.AreEqual("Hey", stringIdItem.String);

            // Update
            stringIdItem.String = "What?";
            await stringIdTable.UpdateAsync(stringIdItem);

            Assert.AreEqual(testId, stringIdItem.Id);
            Assert.AreEqual("What?", stringIdItem.String);

            // Refresh
            stringIdItem = new ToDoWithStringIdAgainstIntIdTable()
            {
                Id = testId, String = "Hey"
            };
            await stringIdTable.RefreshAsync(stringIdItem);

            Assert.AreEqual(testId, stringIdItem.Id);
            Assert.AreEqual("What?", stringIdItem.String);

            // Read Again
            results = await stringIdTable.ReadAsync();

            items = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(testId, items[0].Id);
            Assert.AreEqual("What?", items[0].String);

            // Delete
            await stringIdTable.DeleteAsync(item);
        }
コード例 #16
0
        public async Task AsyncTableOperationsWithValidStringIdAgainstStringIdTable()
        {
            await EnsureEmptyTableAsync <ToDoWithStringId>();

            string[] testIdData = IdTestData.ValidStringIds;

            foreach (string testId in testIdData)
            {
                IMobileServiceTable <ToDoWithStringId> table = GetClient().GetTable <ToDoWithStringId>();

                ToDoWithStringId item = new ToDoWithStringId()
                {
                    Id = testId, String = "Hey"
                };
                await table.InsertAsync(item);

                // Read
                IEnumerable <ToDoWithStringId> results = await table.ReadAsync();

                ToDoWithStringId[] items = results.ToArray();

                Assert.AreEqual(1, items.Count());
                Assert.AreEqual(testId, items[0].Id);
                Assert.AreEqual("Hey", items[0].String);

                // Filter
                results = await table.Where(i => i.Id == testId).ToEnumerableAsync();

                items = results.ToArray();

                Assert.AreEqual(1, items.Count());
                Assert.AreEqual(testId, items[0].Id);
                Assert.AreEqual("Hey", items[0].String);

                // Projection
                var projectedResults = await table.Select(i => new { XId = i.Id, XString = i.String }).ToEnumerableAsync();

                var projectedItems = projectedResults.ToArray();

                Assert.AreEqual(1, projectedItems.Count());
                Assert.AreEqual(testId, projectedItems[0].XId);
                Assert.AreEqual("Hey", projectedItems[0].XString);

                // Lookup
                item = await table.LookupAsync(testId);

                Assert.AreEqual(testId, item.Id);
                Assert.AreEqual("Hey", item.String);

                // Update
                item.String = "What?";
                await table.UpdateAsync(item);

                Assert.AreEqual(testId, item.Id);
                Assert.AreEqual("What?", item.String);

                // Refresh
                item = new ToDoWithStringId()
                {
                    Id = testId, String = "Hey"
                };
                await table.RefreshAsync(item);

                Assert.AreEqual(testId, item.Id);
                Assert.AreEqual("What?", item.String);

                // Read Again
                results = await table.ReadAsync();

                items = results.ToArray();

                Assert.AreEqual(1, items.Count());
                Assert.AreEqual(testId, items[0].Id);
                Assert.AreEqual("What?", items[0].String);

                await table.DeleteAsync(item);
            }
        }
コード例 #17
0
        public async Task AsyncFilterSelectOrderingOperationsNotImpactedBySystemProperties()
        {
            await EnsureEmptyTableAsync <ToDoWithSystemPropertiesType>();

            IMobileServiceTable <ToDoWithSystemPropertiesType> table = GetClient().GetTable <ToDoWithSystemPropertiesType>();
            List <ToDoWithSystemPropertiesType> items = new List <ToDoWithSystemPropertiesType>();

            // Insert some items
            for (int id = 0; id < 5; id++)
            {
                ToDoWithSystemPropertiesType item = new ToDoWithSystemPropertiesType()
                {
                    Id = id.ToString(), String = "a value"
                };

                await table.InsertAsync(item);

                Assert.IsNotNull(item.CreatedAt);
                Assert.IsNotNull(item.UpdatedAt);
                Assert.IsNotNull(item.Version);
                items.Add(item);

                await Task.Delay(10); // to separate the items in time
            }

            // Ordering
            var results = await table.OrderBy(t => t.CreatedAt).ToEnumerableAsync();

            ToDoWithSystemPropertiesType[] orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            results = await table.OrderBy(t => t.UpdatedAt).ToEnumerableAsync();

            orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            results = await table.OrderBy(t => t.Version).ToEnumerableAsync();

            orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            // Filtering
            results = await table.Where(t => t.CreatedAt >= items[4].CreatedAt).ToEnumerableAsync();

            ToDoWithSystemPropertiesType[] filteredItems = results.ToArray();

            for (int i = 0; i < filteredItems.Length - 1; i++)
            {
                Assert.IsTrue(filteredItems[i].CreatedAt >= items[4].CreatedAt);
            }

            results = await table.Where(t => t.UpdatedAt >= items[4].UpdatedAt).ToEnumerableAsync();

            filteredItems = results.ToArray();

            for (int i = 0; i < filteredItems.Length - 1; i++)
            {
                Assert.IsTrue(filteredItems[i].UpdatedAt >= items[4].UpdatedAt);
            }

            results = await table.Where(t => t.Version == items[4].Version).ToEnumerableAsync();

            filteredItems = results.ToArray();

            for (int i = 0; i < filteredItems.Length - 1; i++)
            {
                Assert.IsTrue(filteredItems[i].Version == items[4].Version);
            }

            // Selection
            var selectionResults = await table.Select(t => new { Id = t.Id, CreatedAt = t.CreatedAt }).ToEnumerableAsync();

            var selectedItems = selectionResults.ToArray();

            for (int i = 0; i < selectedItems.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems[i].Id).FirstOrDefault();
                Assert.IsTrue(item.CreatedAt == selectedItems[i].CreatedAt);
            }

            var selectionResults2 = await table.Select(t => new { Id = t.Id, UpdatedAt = t.UpdatedAt }).ToEnumerableAsync();

            var selectedItems2 = selectionResults2.ToArray();

            for (int i = 0; i < selectedItems2.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems2[i].Id).FirstOrDefault();
                Assert.IsTrue(item.UpdatedAt == selectedItems2[i].UpdatedAt);
            }

            var selectionResults3 = await table.Select(t => new { Id = t.Id, Version = t.Version }).ToEnumerableAsync();

            var selectedItems3 = selectionResults3.ToArray();

            for (int i = 0; i < selectedItems3.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems3[i].Id).FirstOrDefault();
                Assert.IsTrue(item.Version == selectedItems3[i].Version);
            }

            // Delete
            foreach (var item in items)
            {
                await table.DeleteAsync(item);
            }
        }
コード例 #18
0
        public async Task AsyncTableOperationsWithAllSystemProperties()
        {
            await EnsureEmptyTableAsync <ToDoWithSystemPropertiesType>();

            string id = "an id";
            IMobileServiceTable <ToDoWithSystemPropertiesType> table = GetClient().GetTable <ToDoWithSystemPropertiesType>();

            ToDoWithSystemPropertiesType item = new ToDoWithSystemPropertiesType()
            {
                Id = id, String = "a value"
            };
            await table.InsertAsync(item);

            Assert.IsNotNull(item.CreatedAt);
            Assert.IsNotNull(item.UpdatedAt);
            Assert.IsNotNull(item.Version);

            // Read
            IEnumerable <ToDoWithSystemPropertiesType> results = await table.ReadAsync();

            ToDoWithSystemPropertiesType[] items = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.IsNotNull(items[0].CreatedAt);
            Assert.IsNotNull(items[0].UpdatedAt);
            Assert.IsNotNull(items[0].Version);

            // Filter against version
            results = await table.Where(i => i.Version == items[0].Version).ToEnumerableAsync();

            ToDoWithSystemPropertiesType[] filterItems = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(filterItems[0].Version, items[0].Version);

            // Filter against createdAt
            results = await table.Where(i => i.CreatedAt == items[0].CreatedAt).ToEnumerableAsync();

            filterItems = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(filterItems[0].Version, items[0].Version);

            // Filter against updatedAt
            results = await table.Where(i => i.UpdatedAt == items[0].UpdatedAt).ToEnumerableAsync();

            filterItems = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(filterItems[0].Version, items[0].Version);

            // Projection
            var projectedResults = await table.Select(i => new { XId = i.Id, XCreatedAt = i.CreatedAt, XUpdatedAt = i.UpdatedAt, XVersion = i.Version }).ToEnumerableAsync();

            var projectedItems = projectedResults.ToArray();

            Assert.AreEqual(1, projectedResults.Count());
            Assert.AreEqual(projectedItems[0].XId, items[0].Id);
            Assert.AreEqual(projectedItems[0].XCreatedAt, items[0].CreatedAt);
            Assert.AreEqual(projectedItems[0].XUpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(projectedItems[0].XVersion, items[0].Version);

            // Lookup
            item = await table.LookupAsync(id);

            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            // Refresh
            item = new ToDoWithSystemPropertiesType()
            {
                Id = id
            };
            await table.RefreshAsync(item);

            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            // Update
            item.String = "Hello!";
            await table.UpdateAsync(item);

            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.IsTrue(item.UpdatedAt >= items[0].UpdatedAt);
            Assert.IsNotNull(item.Version);
            Assert.AreNotEqual(item.Version, items[0].Version);

            // Read Again
            results = await table.ReadAsync();

            items = results.ToArray();
            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            await table.DeleteAsync(item);
        }
コード例 #19
0
        public async Task AsyncTableOperationsWithAllSystemProperties()
        {
            await EnsureEmptyTableAsync <RoundTripTableItemWithSystemPropertiesType>();

            string id = Guid.NewGuid().ToString();
            IMobileServiceTable <RoundTripTableItemWithSystemPropertiesType> table = GetClient().GetTable <RoundTripTableItemWithSystemPropertiesType>();

            RoundTripTableItemWithSystemPropertiesType item = new RoundTripTableItemWithSystemPropertiesType()
            {
                Id = id, Name = "a value"
            };
            await table.InsertAsync(item);

            Assert.IsNotNull(item.CreatedAt);
            Assert.IsNotNull(item.UpdatedAt);
            Assert.IsNotNull(item.Version);

            // Read
            IEnumerable <RoundTripTableItemWithSystemPropertiesType> results = await table.ReadAsync();

            RoundTripTableItemWithSystemPropertiesType[] items = results.ToArray();

            Assert.AreEqual(1, items.Count());
            Assert.IsNotNull(items[0].CreatedAt);
            Assert.IsNotNull(items[0].UpdatedAt);
            Assert.IsNotNull(items[0].Version);

            // Filter against version
            // BUG #1706815 (OData query for version field (string <--> byte[] mismatch)

            /*
             * results = await table.Where(i => i.Version == items[0].Version).ToEnumerableAsync();
             * RoundTripTableItemWithSystemPropertiesType[] filterItems = results.ToArray();
             *
             * Assert.AreEqual(1, items.Count());
             * Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
             * Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
             * Assert.AreEqual(filterItems[0].Version, items[0].Version);
             *
             * // Filter against createdAt
             * results = await table.Where(i => i.CreatedAt == items[0].CreatedAt).ToEnumerableAsync();
             * RoundTripTableItemWithSystemPropertiesType[] filterItems = results.ToArray();
             *
             * Assert.AreEqual(1, items.Count());
             * Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
             * Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
             * Assert.AreEqual(filterItems[0].Version, items[0].Version);
             *
             * // Filter against updatedAt
             * results = await table.Where(i => i.UpdatedAt == items[0].UpdatedAt).ToEnumerableAsync();
             * filterItems = results.ToArray();
             *
             * Assert.AreEqual(1, items.Count());
             * Assert.AreEqual(filterItems[0].CreatedAt, items[0].CreatedAt);
             * Assert.AreEqual(filterItems[0].UpdatedAt, items[0].UpdatedAt);
             * Assert.AreEqual(filterItems[0].Version, items[0].Version);
             */

            // Projection
            var projectedResults = await table.Select(i => new { XId = i.Id, XCreatedAt = i.CreatedAt, XUpdatedAt = i.UpdatedAt, XVersion = i.Version }).ToEnumerableAsync();

            var projectedItems = projectedResults.ToArray();

            Assert.AreEqual(1, projectedResults.Count());
            Assert.AreEqual(projectedItems[0].XId, items[0].Id);
            Assert.AreEqual(projectedItems[0].XCreatedAt, items[0].CreatedAt);
            Assert.AreEqual(projectedItems[0].XUpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(projectedItems[0].XVersion, items[0].Version);

            // Lookup
            item = await table.LookupAsync(id);

            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            // Refresh
            item = new RoundTripTableItemWithSystemPropertiesType()
            {
                Id = id
            };
            await table.RefreshAsync(item);

            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            // Update
            item.Name = "Hello!";
            await table.UpdateAsync(item);

            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.IsTrue(item.UpdatedAt >= items[0].UpdatedAt);
            Assert.IsNotNull(item.Version);
            Assert.AreNotEqual(item.Version, items[0].Version);

            // Read Again
            results = await table.ReadAsync();

            items = results.ToArray();
            Assert.AreEqual(id, item.Id);
            Assert.AreEqual(item.Id, items[0].Id);
            Assert.AreEqual(item.CreatedAt, items[0].CreatedAt);
            Assert.AreEqual(item.UpdatedAt, items[0].UpdatedAt);
            Assert.AreEqual(item.Version, items[0].Version);

            await table.DeleteAsync(item);
        }
コード例 #20
0
        public async Task AsyncFilterSelectOrderingOperationsNotImpactedBySystemProperties()
        {
            await EnsureEmptyTableAsync <RoundTripTableItemWithSystemPropertiesType>();

            IMobileServiceTable <RoundTripTableItemWithSystemPropertiesType> table = GetClient().GetTable <RoundTripTableItemWithSystemPropertiesType>();
            List <RoundTripTableItemWithSystemPropertiesType> items = new List <RoundTripTableItemWithSystemPropertiesType>();

            // Insert some items
            for (int id = 0; id < 5; id++)
            {
                RoundTripTableItemWithSystemPropertiesType item = new RoundTripTableItemWithSystemPropertiesType()
                {
                    Id = id.ToString(), Name = "a value"
                };

                await table.InsertAsync(item);

                Assert.IsNotNull(item.CreatedAt);
                Assert.IsNotNull(item.UpdatedAt);
                Assert.IsNotNull(item.Version);
                items.Add(item);
            }

            // Ordering
            var results = await table.OrderBy(t => t.CreatedAt).ToEnumerableAsync(); // Fails here with .NET runtime. Why??

            RoundTripTableItemWithSystemPropertiesType[] orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            results = await table.OrderBy(t => t.UpdatedAt).ToEnumerableAsync();

            orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            results = await table.OrderBy(t => t.Version).ToEnumerableAsync();

            orderItems = results.ToArray();

            for (int i = 0; i < orderItems.Length - 1; i++)
            {
                Assert.IsTrue(int.Parse(orderItems[i].Id) < int.Parse(orderItems[i + 1].Id));
            }

            // Filtering
            results = await table.Where(t => t.CreatedAt >= items[4].CreatedAt).ToEnumerableAsync();

            RoundTripTableItemWithSystemPropertiesType[] filteredItems = results.ToArray();

            for (int i = 0; i < filteredItems.Length - 1; i++)
            {
                Assert.IsTrue(filteredItems[i].CreatedAt >= items[4].CreatedAt);
            }

            results = await table.Where(t => t.UpdatedAt >= items[4].UpdatedAt).ToEnumerableAsync();

            filteredItems = results.ToArray();

            for (int i = 0; i < filteredItems.Length - 1; i++)
            {
                Assert.IsTrue(filteredItems[i].UpdatedAt >= items[4].UpdatedAt);
            }

            // TODO: Seperate to own test, to not run for .NET / Fix.Net

            /*
             * results = await table.Where(t => t.Version == items[4].Version).ToEnumerableAsync();
             * filteredItems = results.ToArray();
             *
             * for (int i = 0; i < filteredItems.Length - 1; i++)
             * {
             *  Assert.IsTrue(filteredItems[i].Version == items[4].Version);
             * }
             */

            // Selection
            var selectionResults = await table.Select(t => new { Id = t.Id, CreatedAt = t.CreatedAt }).ToEnumerableAsync();

            var selectedItems = selectionResults.ToArray();

            for (int i = 0; i < selectedItems.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems[i].Id).FirstOrDefault();
                Assert.IsTrue(item.CreatedAt == selectedItems[i].CreatedAt);
            }

            var selectionResults2 = await table.Select(t => new { Id = t.Id, UpdatedAt = t.UpdatedAt }).ToEnumerableAsync();

            var selectedItems2 = selectionResults2.ToArray();

            for (int i = 0; i < selectedItems2.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems2[i].Id).FirstOrDefault();
                Assert.IsTrue(item.UpdatedAt == selectedItems2[i].UpdatedAt);
            }

            var selectionResults3 = await table.Select(t => new { Id = t.Id, Version = t.Version }).ToEnumerableAsync();

            var selectedItems3 = selectionResults3.ToArray();

            for (int i = 0; i < selectedItems3.Length; i++)
            {
                var item = items.Where(t => t.Id == selectedItems3[i].Id).FirstOrDefault();
                Assert.IsTrue(item.Version == selectedItems3[i].Version);
            }

            // Delete
            foreach (var item in items)
            {
                await table.DeleteAsync(item);
            }
        }
コード例 #21
0
        async void medicinePageLoaded(object sender, RoutedEventArgs e)
        {
            try
            {
                var test1 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.med1)
                            .ToEnumerableAsync();

                var test11 = test1.FirstOrDefault();
                m1Name.Text = test11;


                var test2 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.strength1)
                            .ToEnumerableAsync();

                var test22 = test1.FirstOrDefault();
                m1Strength.Text = test22;

                var test3 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.dose1)
                            .ToEnumerableAsync();

                var test33 = Convert.ToString(test3.FirstOrDefault());

                m1Dose.Text = test33;

                var test4 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.doseqty1)
                            .ToEnumerableAsync();

                var test44 = test4.FirstOrDefault();
                m1DoseQty.Text = test44;

                var test5 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.med2)
                            .ToEnumerableAsync();

                var test55 = test5.FirstOrDefault();
                m2Name.Text = test55;

                var test6 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.strength2)
                            .ToEnumerableAsync();

                var test66 = test6.FirstOrDefault();
                m2Strength.Text = test66;

                var test7 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.dose2)
                            .ToEnumerableAsync();

                var test77 = test7.FirstOrDefault();
                m2Dose.Text = test77;

                var test8 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.doseqty2)
                            .ToEnumerableAsync();

                var test88 = test8.FirstOrDefault();
                m2DoseQty.Text = test88;

                var test9 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.med3)
                            .ToEnumerableAsync();

                var test99 = test9.FirstOrDefault();
                m3Name.Text = test99;

                var test10 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.strength3)
                             .ToEnumerableAsync();

                var test100 = test10.FirstOrDefault();
                m3Strength.Text = test100;

                var test13 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.dose3)
                             .ToEnumerableAsync();

                var test111 = test13.FirstOrDefault();
                m3Dose.Text = test111;


                var test15 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.doseqty3)
                             .ToEnumerableAsync();

                var test115 = test15.FirstOrDefault();
                m3DoseQty.Text = test115;


                var test16 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.med4)
                             .ToEnumerableAsync();

                var test116 = test16.FirstOrDefault();
                m4Name.Text = test116;

                var test17 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.strength4)
                             .ToEnumerableAsync();

                var test117 = test17.FirstOrDefault();
                m4Strength.Text = test117;


                var test18 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.dose4)
                             .ToEnumerableAsync();

                var test118 = test18.FirstOrDefault();
                m4Dose.Text = test118;

                var test19 = await PrescriptionTable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.doseqty4)
                             .ToEnumerableAsync();

                var test119 = test19.FirstOrDefault();
                m4DoseQty.Text = test119;
            }



            catch
            {
                MessageBox.Show("ConnectivityError");
            }
        }
コード例 #22
0
        async void casesheetLoaded(object sender, RoutedEventArgs e)

        {
            try

            {
                var test1 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.vitals_bp)
                            .ToEnumerableAsync();

                var test11 = test1.FirstOrDefault();
                vbp.Text = test11;

                var test18 = await mycasetable
                             //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                             .Select(t => t.vitals_bp)
                             .ToEnumerableAsync();

                var test118 = test18.FirstOrDefault();
                vbp.Text = test118;


                var test2 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.vitals_sugar)
                            .ToEnumerableAsync();

                var test22 = test1.FirstOrDefault();
                vs.Text = test22;

                var test3 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.vitals_temp)
                            .ToEnumerableAsync();

                var test33 = Convert.ToString(test3.FirstOrDefault());

                vt.Text = test33;

                var test4 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.personal_history)
                            .ToEnumerableAsync();

                var test44 = test4.FirstOrDefault();
                ph.Text = test44;

                var test5 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.examination_cardio)
                            .ToEnumerableAsync();

                var test55 = test5.FirstOrDefault();
                ec.Text = test55;

                var test6 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.examination_respiratory)
                            .ToEnumerableAsync();

                var test66 = test6.FirstOrDefault();
                er.Text = test66;

                var test7 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.examination_abdomen)
                            .ToEnumerableAsync();

                var test77 = test7.FirstOrDefault();
                ea.Text = test77;

                var test8 = await mycasetable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.diagnosis)
                            .ToEnumerableAsync();

                var test88 = test8.FirstOrDefault();
                d.Text = test88;
            }



            catch
            {
                MessageBox.Show("ConnectivityError");
            }
        }
コード例 #23
0
 public IMobileServiceTableQuery <U> Select <U>(Expression <Func <T, U> > selector)
 {
     return(_table.Select(selector));
 }
コード例 #24
0
        async void thisPageLoaded(object sender, RoutedEventArgs e)
        {
            try {
                var test1 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test1)
                            .ToEnumerableAsync();

                var test11 = test1.FirstOrDefault();
                tt1.Text = test11;


                var test2 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test2)
                            .ToEnumerableAsync();

                var test22 = test2.FirstOrDefault();
                tt2.Text = test22;

                var test3 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test3)
                            .ToEnumerableAsync();

                var test33 = test3.FirstOrDefault();
                tt3.Text = test33;

                var test4 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test4)
                            .ToEnumerableAsync();

                var test44 = test4.FirstOrDefault();
                tt4.Text = test44;

                var test5 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test5)
                            .ToEnumerableAsync();

                var test55 = test5.FirstOrDefault();
                tt5.Text = test55;

                var test6 = await PrescriptionTable
                            //.Where(t => t.UserId == App.MobileService.CurrentUser.UserId)
                            .Select(t => t.test6)
                            .ToEnumerableAsync();

                var test66 = test6.FirstOrDefault();
                tt6.Text = test66;
            }
            catch
            {
                MessageBox.Show("connectivity Problem");
            }
        }
コード例 #25
0
 public async Task <List <string> > GetPosts()
 {
     return(await tableClient.Select(x => x.Text).ToListAsync());
 }