@page "/gallery" @using DataAccess.Data @using DataAccess.Models @inject DialogService DialogService; @inject BildInfoData BildInfoData; @inject WunschInfoData WunschInfoData; @code { List? _bildInfos; protected override async Task OnInitializedAsync() { _bildInfos = (await BildInfoData.GetAllBildInfosAsync()).ToList(); await base.OnInitializedAsync(); } async Task ShowImageDialog(BildInfoModel bildInfo) { WunschInfoModel wunschInfo = await WunschInfoData.GetWunschInfoAsync(bildInfo.WunschId); int listIndex = _bildInfos.IndexOf(_bildInfos.First(info => info.Id == bildInfo.Id)); List bilderVomWunsch = _bildInfos!.Where(info => info.WunschId == wunschInfo.Id).ToList(); void ButtonLeft() { listIndex = (listIndex != 0) ? listIndex - 1 : 0; bildInfo = _bildInfos[listIndex]; DialogService.Refresh(); } void ButtonRight() { listIndex = (listIndex != _bildInfos.Count - 1) ? listIndex + 1 : _bildInfos.Count - 1; bildInfo = _bildInfos[listIndex]; DialogService.Refresh(); } var result = await DialogService.OpenAsync(wunschInfo.Wunsch, ds => @
@foreach (var bild in bilderVomWunsch) { }
, new DialogOptions() { CloseDialogOnOverlayClick = true, Width = "50%" }); } [Inject] private IWebHostEnvironment _environment { get; set; } }