示例#1
0
        public async Task <IList <Recipe> > GetRecipesByCategoryAsync(int categoryTag)
        {
            var matchedRecipes = new List <Recipe>();

            var result = await _recipiesTable.Select(x => x).Where(x => x.CategoryTag == categoryTag).ToListAsync();

            if (result != null)
            {
                matchedRecipes.AddRange(result);
            }


            return(matchedRecipes);
        }
        /// <summary>
        /// Syncs Child Table with mobile api
        /// </summary>
        /// <param name="profileId">string profileid to sync</param>
        /// <returns>System.Theading.Tasks.Task</returns>
        public async Task <SyncState> SyncChild()
        {
            //string emptyGuid = Guid.Empty.ToString();
            SyncState state = SyncState.Offline;

            if (CrossConnectivity.Current.IsConnected)
            {
                try
                {
                    await childrenTable.PullAsync(Guid.NewGuid().ToString(), childrenTable.Select(c => c));

                    state = SyncState.Complete;
                }
                catch (MobileServicePushFailedException exc)
                {
                    await SimpleConflictResolution(exc);

                    state = SyncState.CompleteWithConflicts;
                }
                catch (Exception ex)
                {
                    state = SyncState.Error;
                }
            }
            return(state);
        }
        /// <summary>
        /// Syncs Child Table with mobile api
        /// </summary>
        /// <param name="profileId">string profileid to sync</param>
        /// <returns>System.Theading.Tasks.Task</returns>
        public async Task <SyncState> SyncMedia()
        {
            SyncState state = SyncState.Offline;

            if (CrossConnectivity.Current.IsConnected)
            {
                try
                {
                    await mediaTable.PullAsync(Guid.NewGuid().ToString(), mediaTable.Select(m => m));

                    state = SyncState.Complete;
                }
                catch (MobileServicePushFailedException exc)
                {
                    try
                    {
                        await SimpleConflictResolution(exc);
                    }
                    catch { }
                    state = SyncState.CompleteWithConflicts;
                }
                catch { state = SyncState.Error; }
            }
            return(state);
        }
        public async Task <SyncState> SyncFirmware()
        {
            SyncState state = SyncState.Offline;

            if (CrossConnectivity.Current.IsConnected)
            {
                try
                {
                    //gets the latest from the table
                    await firmwareTable.PullAsync(Guid.NewGuid().ToString(), firmwareTable.Select(f => f));

                    state = SyncState.Complete;
                }
                catch (MobileServicePushFailedException exc)
                {
                    await SimpleConflictResolution(exc);

                    state = SyncState.CompleteWithConflicts;
                }
                catch (Exception ex)
                {
                    state = SyncState.Error;
                }
            }
            return(state);
        }
        /// <summary>
        /// Syncs Current User Table with mobile API values
        /// </summary>
        /// <param name="Id">Current Authorized User Id</param>
        /// <returns>System.Threading.Tasks.Task</returns>
        public async Task <SyncState> SyncUser()
        {
            SyncState state = SyncState.Offline;

            try
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    await userTable.PullAsync(Guid.NewGuid().ToString(), userTable.Select(u => u));

                    state = SyncState.Complete;
                }
            }
            catch (MobileServicePushFailedException exc)
            {
                await SimpleConflictResolution(exc);

                state = SyncState.CompleteWithConflicts;
            }
            catch (Exception ex)
            {
                state = SyncState.Error;
            }
            return(state);
        }
        private async Task RefreshTodoItems()
        {
            MobileServiceInvalidOperationException exception = null;

            try
            {
                // This code refreshes the entries in the list view by querying the TodoItems table.
                // The query excludes completed TodoItems
                // Select one field -- just the Text
                Names = await todoGetTable //Inventory_EasyTable => Inventory_EasyTable.ItemName
                        .Select(Inventory_EasyTable => Inventory_EasyTable.ItemName)
                        .ToListAsync();

                Quantity = await todoGetTable //Inventory_EasyTable => Inventory_EasyTable.ItemName
                           .Select(Inventory_EasyTable => Inventory_EasyTable.Quantity.ToString())
                           .ToListAsync();
            }
            catch (MobileServiceInvalidOperationException e)
            {
                exception = e;
            }

            if (exception != null)
            {
                await new MessageDialog(exception.Message, "Error loading items").ShowAsync();
            }
            else
            {
                foreach (var value in Names)
                {
                    listNames.Items.Add(value);
                }
                Itemcount.Text = "Total number of items: " + listNames.Items.Count.ToString();
                Int32 Total = 0;
                foreach (var value in Quantity)
                {
                    listQuantity.Items.Add(value);
                    Total += Int32.Parse(value);
                }
                Itemtotal.Text             = Total.ToString();
                this.btn_Refresh.IsEnabled = true;
            }
        }
        public async Task <List <Notlar> > NotlariListele()
        {
            //return await notlarTablosu.ReadAsync();
            //return await notlarTablosu.Where().ToListAsync();
            return(await notlarTablosu.Select(satir => satir).ToListAsync());

            //return await notlarTablosu.ReadAsync();
            //return await App.mobilServis.GetTable<Notlar>().ToListAsync();
            //return await veritabani.Table<Notlar>().ToListAsync();
        }
示例#8
0
        public async Task DeleteFavoriteItemAsync(string userId, int recipeTag)
        {
            var instance = await _favoritesTable.Select(x => x)
                           .Where(x => x.RecipeTag == recipeTag && x.UserId == userId)
                           .ToListAsync();

            foreach (var item in instance)
            {
                await _favoritesTable.DeleteAsync(item);
            }
        }
示例#9
0
        public async Task <IList <Ingredient> > SearchForIngredients(string searchString)
        {
            if (searchString == "")
            {
                return(new List <Ingredient>());
            }

            var result = await _ingredientsTable.Select(x => x)
                         .Where(x => x.Name.Contains(searchString))
                         .ToListAsync();

            return(result == null
                ? new List <Ingredient>()
                : new List <Ingredient>(result));
        }
示例#10
0
 public IMobileServiceTableQuery <U> Select <U>(Expression <Func <T, U> > selector)
 {
     return(_syncTable.Select(selector));
 }