private async void Init(IEHGalleryImage image) { IsLoading = true; Detail = await _api.Detail(_url); Title = Detail.Name; var list = await Task.WhenAll(Detail.Pages.Select(it => _api.Detail(it))); Images = list .SelectMany(it => it.LargeImages ?? it.NormalImages?.OfType <IEHGalleryImage>()) .Select((it, index) => new EHReadingImage(it, _api, index + 1)).OfType <IReadingImage>().ToList(); var selectedIndex = Images.OfType <EHReadingImage>().ToList().FindIndex(it => it.Data.Link == image?.Link); if (selectedIndex != -1) { SelectedIndex = selectedIndex; } IsLoading = false; }
public EHReadingImage(IEHGalleryImage it, EHApi api, int index) { Data = it; _api = api; Index = index; }
public EHReadingViewModel(EHApi api, string url, IEHGalleryImage image = null) { _api = api; _url = url; Init(image); }