Untitled
unknown
plain_text
2 years ago
3.2 kB
6
Indexable
@inject IAdminService AdminService @if (!string.IsNullOrEmpty(Alert)) { <div class="d-flex"> <div class="alert alert-danger alert-dismissible fade show" role="alert"> <strong>@Alert</strong> <button type="button" @onclick="CloseAlert" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> </div> } @if (Navigation == PageType.Create) { <ChangeFilm Page="@Navigation" OnChange="OnChange"></ChangeFilm> } @if (Navigation == PageType.Delete || Navigation == PageType.Edit) { <ChangeFilm Page="@Navigation" OnChange="OnChange" Model="Film"></ChangeFilm> } <div class="d-flex me-1"> <a href="/" class="btn btn-outline-secondary rounded-0 me-1">Home</a> <button type="button" class="btn btn-outline-primary rounded-0 me-1" @onclick="()=>ChangePageType(PageType.Index)">Index</button> <button type="button" class="btn btn-outline-success rounded-0" @onclick="()=>ChangePageType(PageType.Create)">Create</button> </div> <FilmsIndex OnClick="OnClick" Model="Model"></FilmsIndex> @code { List<FilmDTO> Model { get; set; } = new(); //new ser till att det inte är null, så vi slipper exception. string Navigation = string.Empty; string Alert = string.Empty; public FilmDTO Film { get; set; } = new(); void ChangePageType(string pageType) => Navigation = pageType; void CloseAlert() => Alert = string.Empty; protected override async Task OnInitializedAsync() { Alert = string.Empty; //await AdminService.CreateAsync<FilmCreateDTO>($"Films", new FilmCreateDTO(){ ThumbnailURL="", Title="FreeGuy", Free = true, Description ="", DirectorId=2, FilmUrl ="", Released= new DateTime(12,01,01)} ); //await AdminService.EditAsync<FilmDTO>($"Films/1", new FilmDTO()); //Alert = "Test message";//string.Empty; //var film = await AdminService.SingleAsync<FilmDTO>($"Films/1"); /*await AdminService.CreateAsync<FilmCreateDTO>($"Films", new FilmCreateDTO { Description = "adf", Title = "Titel", DirectorId = 4, FilmUrl = "URL", Free = true, Released = new DateTime(2010,10,10) }); */ Model = await AdminService.GetAsync<FilmDTO>($"Films?freeonly=false"); //Detta laddar upp filminnehållet på sidan. } /*När man anropar metoden nedan ändrar man Navigation-property till * vad man nu har valt (Edit, Delete ..)*/ async Task OnClick(ClickModel model) { if (model.PageType.Equals(PageType.Edit) || model.PageType.Equals(PageType.Delete)) Film = await AdminService.SingleAsync<FilmDTO>($"Films/{model.Id}") ?? new(); ChangePageType(model.PageType); } async Task OnChange(string alert) { try { Alert = alert; Model = await AdminService.GetAsync<FilmDTO>("Films"); ChangePageType(PageType.Index); } catch { Alert = "Couldn't create/edit/delete the film."; } } }
Editor is loading...