@page "/discordsettings/{_serverIdString}"
@using Lieb.Data
@using Lieb.Models
@using Lieb.Models.GuildWars2
@using SharedClasses.SharedModels
@using System.ComponentModel.DataAnnotations
@using System.Security.Claims
@inject DiscordService DiscordService
@inject NavigationManager NavigationManager
@inject AuthenticationStateProvider AuthenticationStateProvider
User Edit
Log Channel
@{
List channels = _discordServers.FirstOrDefault(s => s.Id == _serverId, new DiscordServer()).Channels;
@foreach(DiscordChannel item in channels.OrderBy(c => c.Name))
{
}
}
@code {
[Parameter]
public string _serverIdString { get; set; }
private ulong _serverId {get; set; }
private List _discordServers {get; set;} = new List();
public DiscordSettings _discordSettings {get; set;} = new DiscordSettings();
protected override async Task OnInitializedAsync()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
if(!string.IsNullOrEmpty(_serverIdString) && ulong.TryParse(_serverIdString, out ulong id))
{
_serverId = id;
_discordServers = await DiscordService.GetServers();
_discordSettings = DiscordService.GetDiscordSettings(_serverId);
if(_discordSettings.DiscordSettingsId == 0)
{
_discordSettings.DiscordSettingsId = _serverId;
}
}
else
{
NavigationManager.NavigateTo("discordoverview");
}
}
private async Task HandleValidSubmit()
{
DiscordService.AddOrEditDiscordSettings(_discordSettings);
NavigationManager.NavigateTo("discordoverview");
}
}