@page "/authorities/add" @using AutoMapper @using BlazorWebAssemblyVisaApiClient.Components @using BlazorWebAssemblyVisaApiClient.Infrastructure.Helpers @using BlazorWebAssemblyVisaApiClient.Validation.Applicants.Models @using FluentValidation @using VisaApiClient @inherits BlazorWebAssemblyVisaApiClient.Components.Base.VisaClientComponentBase



@code { private RegisterRequestModel requestModel = new(); private Status status = new(); [Inject] private IValidator RegisterRequestModelValidator { get; set; } = null!; [Inject] private IMapper Mapper { get; set; } = null!; private async Task Add() { var validationResult = await RegisterRequestModelValidator.ValidateAsync(requestModel); if (!validationResult.IsValid) { status.SetError(validationResult.ToErrorsString()); return; } try { status.SetMessage("Wait..."); await Client.RegisterAuthorityAsync(Mapper.Map(requestModel)); status.SetSuccess("Success"); } catch (Exception e) { ErrorHandler.Handle(e); } } }