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"); } }
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); }
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); }
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); }