private IMobileServiceSyncTable<TodoItem> todoTable = App.MobileService.GetSyncTable<TodoItem>(); // offline sync public async Task DeleteTodoItem(TodoItem todoItem) { // This code deletes a TodoItem from the database. await todoTable.DeleteAsync(todoItem); await SyncWithImagesAsync(); // offline sync }
public async Task DeleteTodoItem(TodoItem todoitem) { var item = (from t in _cache where t.Id == todoitem.Id select t).FirstOrDefault(); _cache.Remove(item); await _fileService.WriteAsync<Models.TodoItem>(cachekey, _cache); }
public async Task InsertTodoItem(TodoItem todoItem) { try { // This code inserts a new TodoItem into the database. await todoTable.InsertAsync(todoItem); } catch (Exception) { throw; } //await SyncAsync(); // offline sync }
public async Task InsertTodoItem(TodoItem todoItem) { try { if (todoItem.ImageUploadPending) { // Set blob properties of TodoItem. todoItem.ContainerName = "todoitemimages"; // Use a unigue GUID to avoid collisions. todoItem.ResourceName = Guid.NewGuid().ToString(); } // This code inserts a new TodoItem into the database. await todoTable.InsertAsync(todoItem); } catch (Exception) { throw; } await SyncWithImagesAsync(); // offline sync }
public async Task InsertTodoItem(TodoItem item) { _cache.Add(item); await _fileService.WriteAsync<Models.TodoItem>(cachekey, _cache); }
private async Task UploadImage(TodoItem todoItem) { // If we have a returned SAS, then upload the blob. if (!string.IsNullOrEmpty(todoItem.SasQueryString)) { // Get the URI generated that contains the SAS // and extract the storage credentials. StorageCredentials cred = new StorageCredentials(todoItem.SasQueryString); // Instantiate a Blob store container based on the info in the returned item. CloudBlobContainer container = new CloudBlobContainer( new Uri(string.Format("https://{0}/{1}", todoItem.ImageUri.Host, todoItem.ContainerName)), cred); // Get the new local image as a stream. StorageFile media = await StorageFile.GetFileFromApplicationUriAsync(new Uri(todoItem.LocalImageUri)); using (var inputStream = await media.OpenReadAsync()) { // Upload the new image as a BLOB from the stream. CloudBlockBlob blobFromSASCredential = container.GetBlockBlobReference(todoItem.ResourceName); await blobFromSASCredential.UploadFromStreamAsync(inputStream); } // Clear the flag on the item and related fields todoItem.ImageUploadPending = false; todoItem.LocalImageUri = string.Empty; todoItem.SasQueryString = string.Empty; todoItem.ResourceName = string.Empty; // This code updates a TodoItem in the local database. await todoTable.UpdateAsync(todoItem); await SyncAsync(); } }
public async Task UpdateTodoItem(TodoItem todoItem) { if (todoItem.ImageUploadPending) { // Set blob properties of TodoItem. todoItem.ContainerName = "todoitemimages"; // Use a unigue GUID to avoid collisions. todoItem.ResourceName = Guid.NewGuid().ToString(); } // This code updates a TodoItem in the local database. await todoTable.UpdateAsync(todoItem); await SyncWithImagesAsync(); // offline sync }
public async Task UpdateTodoItem(TodoItem todoItem) { // This code updates a TodoItem in the database. await todoTable.UpdateAsync(todoItem); //await SyncAsync(); // offline sync }