Example #1
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            if (e.Parameter is API.ItemsGetterUtil.ViewSource)
            {
                this.Source     = (API.ItemsGetterUtil.ViewSource)e.Parameter;
                this.ApiContent = await API.ItemsGetter.Fetch(app.Settings.Instance.APIProvider, this.Source);

                UpdatePresentedContent();
            }
            else
            {
                throw new Exception("Invalid Parameter provided");
            }
        }
Example #2
0
        internal static TItem[] GetItems <TEntity, TItem>(TEntity entity, ItemsGetter <TEntity, TItem> getter)
        {
            int count;

            ThrowExceptionForHR(getter(entity, 0, out count, null));
            if (count == 0)
            {
                return(null);
            }

            var result = new TItem[count];

            ThrowExceptionForHR(getter(entity, count, out count, result));
            ValidateItems(count, result.Length);
            return(result);
        }
Example #3
0
        private static TItem[] GetItems <TEntity, TItem>(
            TEntity entity, CountGetter <TEntity> countGetter, ItemsGetter <TEntity, TItem> itemsGetter)
        {
            int count;

            ThrowExceptionForHR(countGetter(entity, out count));
            if (count == 0)
            {
                return(null);
            }

            var result = new TItem[count];

            ThrowExceptionForHR(itemsGetter(entity, count, out count, result));
            ValidateItems(count, result.Length);
            return(result);
        }
Example #4
0
        private static TItem[] GetItems <TEntity, TArg1, TArg2, TItem>(TEntity entity, TArg1 arg1, TArg2 arg2, ItemsGetter <TEntity, TArg1, TArg2, TItem> getter)
        {
            int count;
            int hr = getter(entity, arg1, arg2, 0, out count, null);

            ThrowExceptionForHR(hr);
            if (count == 0)
            {
                return(null);
            }

            var result = new TItem[count];

            hr = getter(entity, arg1, arg2, count, out count, result);
            ThrowExceptionForHR(hr);
            ValidateItems(count, result.Length);
            return(result);
        }