Untitled

 avatar
unknown
plain_text
2 years ago
2.0 kB
12
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)
{
	<ChangeFilmGenres Page="@Navigation" OnChange="OnChange"></ChangeFilmGenres>
}
@if (Navigation == PageType.Delete)
{
	<ChangeFilmGenres Page="@Navigation" OnChange="OnChange" Model="FilmGenre"></ChangeFilmGenres>
}


<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>
<FilmGenresIndex OnClick="OnClick" Model="Model"></FilmGenresIndex>

@code {
	List<FilmGenreDTO> Model = new();
	string Alert { get; set; } = "";
	string Navigation { get; set; } = PageType.Index;
	public FilmGenreDTO FilmGenre { get; set; } = new();

	protected override async Task OnInitializedAsync()
	{
		Alert = "";
		Model = await AdminService.GetAsync<FilmGenreDTO>("filmgenres");
	}

	void ChangePageType(string pageType) => Navigation = pageType;

	void CloseAlert() => Alert = "";

	async Task OnClick(ClickReferenceModel model)
	{
		if (model.PageType.Equals(PageType.Delete))
			FilmGenre.FilmId = model.firstId;
			FilmGenre.GenreId = model.secondId;

		
		ChangePageType(model.PageType);
	}

	async Task OnChange(string alert)
	{
		try
		{
			Alert = alert;
			Model = await AdminService.GetAsync<FilmGenreDTO>("filmgenres");
			ChangePageType(PageType.Index);
		}
		catch
		{
			Alert = "Couldn't create/edit/delete the filmgenre.";
		}
	}
}
Editor is loading...