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); } }
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"); } }
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; } }
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); } }
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); } }
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); } }
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; }
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; }
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(); } }
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(); } }
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(); } }
//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"); } }
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]); }
public IMobileServiceTableQuery <T> Select <T>(Expression <Func <DataItem, T> > selector) { return(m_Table.Select(selector)); }
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); }
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); } }
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); } }
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); }
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); }
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); } }
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"); } }
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"); } }
public IMobileServiceTableQuery <U> Select <U>(Expression <Func <T, U> > selector) { return(_table.Select(selector)); }
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"); } }
public async Task <List <string> > GetPosts() { return(await tableClient.Select(x => x.Text).ToListAsync()); }