Ejemplo n.º 1
0
        private async Task LoadAllAsync(HttpQueryDispatcher dispatcher, HttpQueryDispatcher.Next next, ListUserProperty listAll)
        {
            models.Clear();
            if (!serverConnection.IsAvailable)
            {
                var items = await localStorage.LoadAsync();

                if (items != null)
                {
                    models.AddRange(items);
                    return;
                }
            }

            if (dispatcher != null)
            {
                await dispatcher.QueryAsync(listAll);
            }
            else
            {
                models.AddRange((List <UserPropertyModel>) await next(listAll));
                await localStorage.SaveAsync(models);
            }
        }
Ejemplo n.º 2
0
        private async Task EnsureListAsync(HttpQueryDispatcher dispatcher, HttpQueryDispatcher.Next next, ListUserProperty listAll)
        {
            if (models.Count == 0)
            {
                if (listAllTask == null)
                {
                    listAllTask = LoadAllAsync(dispatcher, next, listAll);
                }

                try
                {
                    await listAllTask;
                }
                finally
                {
                    listAllTask = null;
                }
            }
        }