75 lines
1.9 KiB
Plaintext
75 lines
1.9 KiB
Plaintext
@using Sufi.Demo.PeopleDirectory.Application.Features.Contacts.Queries.GetById
|
|
|
|
@inject HttpClient Http
|
|
|
|
<MudDialog>
|
|
<DialogContent>
|
|
@if (showAlert)
|
|
{
|
|
<MudAlert Severity="Severity.Error">@alertMessage</MudAlert>
|
|
}
|
|
<MudForm @ref="form" Model="request" @bind-IsValid="success" @bind-Errors="errors">
|
|
<MudTextField Label="Username" Required="true" @bind-Value="request.UserName" />
|
|
<MudTextField Label="Email" Required="true" @bind-Value="request.Email" />
|
|
<MudTextField Label="Phone" Required="true" @bind-Value="request.Phone" />
|
|
<MudTextField Label="Skill Sets" Required="true" @bind-Value="request.SkillSets" />
|
|
<MudTextField Label="Hobby" Required="true" @bind-Value="request.Hobby" />
|
|
</MudForm>
|
|
</DialogContent>
|
|
<DialogActions>
|
|
<MudButton OnClick="Cancel">Cancel</MudButton>
|
|
<MudButton OnClick="Submit">Ok</MudButton>
|
|
</DialogActions>
|
|
</MudDialog>
|
|
|
|
@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<GetContactByIdResponse>();
|
|
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);
|
|
}
|
|
}
|