@inject IMathFrenzyLevelGroupRepository mathFrenzyLevelGroupRepository
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
@if (MathFrenzyLevelHeaderDTO == null)
{
<p>Loading</p>
}
else
{
<EditForm Model="MathFrenzyLevelHeaderDTO" OnSubmit="ValidSubmit">
<DataAnnotationsValidator />
<div class="form-group">
<div class="control-section">
<div class="content wrapper">
<SfDropDownList TValue="int" TItem="MathFrenzyLevelGroupDTO" PopupHeight="230px" Placeholder="Select a Group Level" DataSource="@MathFrenzyLevelGroupList" @bind-Value="@MathFrenzyLevelHeaderDTO.MathFrenzyLevelGroupId">
<DropDownListFieldSettings Text=@nameof(MathFrenzyLevelGroupDTO.Name) Value=@nameof(MathFrenzyLevelGroupDTO.Id)></DropDownListFieldSettings>
</SfDropDownList>
</div>
</div>
</div>
<button class="btn btn-info m-3" type="submit">Done</button>
<button class="btn btn-danger m-3" @onclick="Cancel">Cancel</button>
</EditForm>
}
@code {
[Parameter] public MathFrenzyLevelHeaderDTO MathFrenzyLevelHeaderDTO { get; set; }
[Parameter] public EventCallback<MathFrenzyLevelHeaderDTO> OnValidSubmit { get; set; }
[Parameter] public EventCallback OnCancel { get; set; }
protected List<MathFrenzyLevelGroupDTO> MathFrenzyLevelGroupList;
private async Task LoadMathFrenzyLevelGroups()
{
try
{
MathFrenzyLevelGroupList = await mathFrenzyLevelGroupRepository.GetMathFrenzyLevelGroups();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
protected override async Task OnInitializedAsync()
{
await LoadMathFrenzyLevelGroups();
await base.OnInitializedAsync();
}
private async Task ValidSubmit()
{
await OnValidSubmit.InvokeAsync(MathFrenzyLevelHeaderDTO);
}
private async Task Cancel()
{
await OnCancel.InvokeAsync(null);
}
}
Hi
Here is IMathFrenzyLevelGroupRepository
using EquiAviaLetsLearn.Shared.DTOs;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace EquiAviaLetsLearn.Client.Repository
{
internal interface IMathFrenzyLevelGroupRepository
{
Task<List<MathFrenzyLevelGroupDTO>> GetMathFrenzyLevelGroups();
Task<MathFrenzyLevelGroupDTO> CreateMathFrenzyLevelGroup(MathFrenzyLevelGroupDTO mathFrenzyLevelGroup);
Task<MathFrenzyLevelGroupDTO> GetMathFrenzyLevelGroup(int id);
Task<MathFrenzyLevelGroupDTO> UpdateMathFrenzyLevelGroup(MathFrenzyLevelGroupDTO mathFrenzyLevelGroup);
Task DeleteMathFrenzyLevelGroup(int id);
}
}
AND the Implementation MathFrenzyLevelGroupRepository
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using EquiAviaLetsLearn.Client.Helpers;
using EquiAviaLetsLearn.Shared.DTOs;
namespace EquiAviaLetsLearn.Client.Repository
{
public class MathFrenzyLevelGroupRepository : BaseRepository, IMathFrenzyLevelGroupRepository
{
public MathFrenzyLevelGroupRepository(IHttpService httpService) : base(httpService)
{
}
protected override string GetBaseURL()
{
return "/api/mathfrenzylevelgroup";
}
public async Task<List<MathFrenzyLevelGroupDTO>> GetMathFrenzyLevelGroups()
{
return await _httpService.GetHelper<List<MathFrenzyLevelGroupDTO>>(GetBaseURL());
}
public async Task<MathFrenzyLevelGroupDTO> CreateMathFrenzyLevelGroup(MathFrenzyLevelGroupDTO mathFrenzyLevelGroup)
{
var response = await _httpService.Post(GetBaseURL(), mathFrenzyLevelGroup);
if (!response.Success)
{
throw new ApplicationException(await response.GetBody());
}
return (MathFrenzyLevelGroupDTO)response.Response;
}
public async Task<MathFrenzyLevelGroupDTO> GetMathFrenzyLevelGroup(int id)
{
return await _httpService.GetHelper<MathFrenzyLevelGroupDTO>(GetBaseURL() + $"/{id}");
}
public async Task<MathFrenzyLevelGroupDTO> UpdateMathFrenzyLevelGroup(MathFrenzyLevelGroupDTO mathFrenzyLevelGroup)
{
var response = await _httpService.Put(GetBaseURL(), mathFrenzyLevelGroup);
if (!response.Success)
{
throw new ApplicationException(await response.GetBody());
}
return (MathFrenzyLevelGroupDTO)response.Response;
}
public async Task DeleteMathFrenzyLevelGroup(int id)
{
var response = await _httpService.Delete(GetBaseURL() + $"/{id}");
if (!response.Success)
{
throw new ApplicationException(await response.GetBody());
}
}
}
}