@page "/editquiz"
@using BlazorQuiz.Common.Models
@inject HttpClient Http
Edit Blazor quiz!
@{
if (quiz == null)
{
Loading...
}
else
{
int quizIndex = 0;
foreach (var quizItem in quiz)
{
quizIndex++;
}
}
}
Add New
@code {
private Quiz[] quiz;
private Quiz _new=new Quiz();
private bool _loaded = false;
private string UserInput = string.Empty;
bool _isTaskRunning = false;
protected override async Task OnInitializedAsync()
{
await LoadQuiz();
_loaded = true;
}
private async Task LoadQuiz()
{
quiz = await Http.GetFromJsonAsync("https://blazorquizfunctionapp20221013002852.azurewebsites.net/api/BlazorQuiz");
}
private void CheckInput(KeyboardEventArgs keyEvent)
{
if (keyEvent.Key == "Enter")
{
AddToList(UserInput);
UserInput = string.Empty;
}
}
private void AddToList(string str)
{
_new.Options.Add(str);
}
public async Task AddQuestion(){
_isTaskRunning = true;
_new.id = (quiz.Count() + 3).ToString();
await Http.PostAsJsonAsync("https://blazorquizfunctionapp20221013002852.azurewebsites.net/api/PostQuestion", _new);
await LoadQuiz();
_isTaskRunning = false;
_new = new Quiz();
}
public async Task RemoveQuestion(Quiz question)
{
_isTaskRunning = true;
quiz = quiz.Where(q => q != question).ToArray();
// Also tried _cards.RemoveAll(i => i.TitleElementId == card.TitleElementId);
await Http.PutAsJsonAsync("https://blazorquizfunctionapp20221013002852.azurewebsites.net/api/DeleteQuestion", question);
await LoadQuiz();
_isTaskRunning = false;
}
}