@using Shared.DTOs @page "/Verification/{ID:int}" @inject HttpClient _hc @inject NavigationManager nav @inject UserAuthenticationDTO userinfo احراز هویت لطفا کد ارسالی را وارد نمایید احراز هویت کد تائید احراز @alertMessage اتمام عملیات کد ارسال نشد؟ ارسال مجدد @code { List messages = new List(); public string hidden { get; set; } public bool SpinnerVisible { get; set; } = false; public string valueCode { get; set; } bool successfull = false; // alert AlertColor alertColor = AlertColor.Primary; IconName alertIconName = IconName.CheckCircleFill; bool Hidealert = true; string alertMessage = ""; private void ShowMessage(ToastType toastType, string Message) => messages.Add(CreateToastMessage(toastType, Message)); [Parameter] public int ID { get; set; } [SupplyParameterFromForm] public VerificationCodeDto? VerificationCodeModel { get; set; } = new VerificationCodeDto(); protected override async Task OnParametersSetAsync() { var request = await _hc.GetAsync($"Verification/GetVerification/{ID}"); if (request.IsSuccessStatusCode) { VerificationCodeModel = await request.Content.ReadFromJsonAsync(); } else { nav.NavigateTo($"/"); } hidden = null; SpinnerVisible = false; await base.OnParametersSetAsync(); } } @functions { private async Task ReSend() { hidden = "hidden"; SpinnerVisible = !SpinnerVisible; var request = await _hc.GetAsync($"Verification/ReSend/{VerificationCodeModel?.ID}"); if (request.IsSuccessStatusCode) { ShowSuccessAlert("کد مجدد ارسال شد"); } else { var listerror = await request.Content.ReadFromJsonAsync>(); ShowDangerAlert(listerror[0]); } SpinnerVisible = !SpinnerVisible; hidden = null; } private async Task SubmitVerificationCode() { hidden = "hidden"; SpinnerVisible = !SpinnerVisible; if (!int.TryParse(valueCode, out int code)) return; VerificationCodeModel.Code = code; if (VerificationCodeModel.Code < 1000 || VerificationCodeModel.Code > 9000) { ShowDangerAlert("کد احراز صحیح نمی باشد"); } else { var request = await _hc.PostAsJsonAsync($"Verification/Submit", VerificationCodeModel); if (request.IsSuccessStatusCode) { var status = await request.Content.ReadFromJsonAsync(); if (status) { if (VerificationCodeModel.Type == "CompanyRegistration") nav.NavigateTo("/Sign-in/VerificationRegister"); else if (VerificationCodeModel.Type == "ForgetPassword") nav.NavigateTo("/Sign-in/VerificationFrogetPass"); else if (VerificationCodeModel.Type == "ChangeUserName") { userinfo.UserName = VerificationCodeModel.val; nav.NavigateTo("/Profile/Verification"); } else nav.NavigateTo("/"); } else { ShowDangerAlert("خطای سیستمی رخ داده"); } } else { var listerror = await request.Content.ReadFromJsonAsync>(); ShowDangerAlert(listerror[0]); } } SpinnerVisible = !SpinnerVisible; hidden = null; } private void ShowSuccessAlert(string msg) { Hidealert = false; alertColor = AlertColor.Success; alertIconName = IconName.CheckCircleFill; alertMessage = msg; } private void ShowDangerAlert(string msg) { Hidealert = false; alertColor = AlertColor.Danger; alertIconName = IconName.ExclamationTriangleFill; alertMessage = msg; } private async Task EndForm() { if (!successfull) await _hc.DeleteAsync($"Verification/Remove/{VerificationCodeModel?.ID}"); if (VerificationCodeModel.Type == "ChangeUserName") nav.NavigateTo("/Profile"); nav.NavigateTo("/"); } private ToastMessage CreateToastMessage(ToastType toastType, string Message) => new ToastMessage { Type = toastType, Message = Message, }; }