@using Sufi.Demo.PeopleDirectory.Application.Features.Contacts.Queries.GetById
@inject HttpClient Http
@if (showAlert)
{
@alertMessage
}
Cancel
Ok
@code {
[CascadingParameter]
private IMudDialogInstance MudDialog { get; set; } = null!;
[Parameter]
public int Id { get; set; }
private AddEditContactCommand request = new();
private MudForm? form;
private bool success;
private string[] errors = { };
private bool showAlert;
private string? alertMessage;
protected override async Task OnInitializedAsync()
{
var response = await Http.GetAsync($"api/v1/contacts/{Id}");
var result = await response.ToResult();
if (result.Succeeded)
{
var contact = result.Data;
request.Id = Id;
request.UserName = contact!.UserName;
request.Email = contact.Email;
request.Phone = contact.Phone;
request.SkillSets = contact.SkillSets;
request.Hobby = contact.Hobby;
showAlert = false;
alertMessage = "";
}
else
{
showAlert = true;
alertMessage = string.Join(',', result.Messages);
}
}
private void Cancel() => MudDialog.Cancel();
private async Task Submit()
{
await form!.Validate();
if (!success)
{
return;
}
MudDialog!.Close(request);
}
}