Files
moadiran/TaxPayerFull/Pages/Register.razor
mmrbnjd 35cad6876b ...
2024-10-14 15:56:45 +03:30

130 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@page "/Register"
@using Front.Services
@using Shared.DTOs
@inject HttpClient _hc
@inject NavigationManager nav
@inject localService localserv;
<PageTitle>ثبت نام</PageTitle>
<main>
<!-- tp-banner-area-start -->
<div class="signin-banner-area signin-banner-main-wrap d-flex align-items-center">
<div class="signin-banner-left-box signin-banner-bg p-relative">
<div class="signin-banner-bottom-shape">
<img src="img/login/login-shape-1.png" alt="">
</div>
<div class="signin-banner-left-wrap">
<div class="signin-banner-title-box mb-100">
<br />
<h4 class="signin-banner-title" style="color:black">
برای استفاده از همه بخش ها <br /> ثبت نام کنید
</h4>
</div>
<div class="signin-banner-img-box position-relative">
<div class="signin-banner-img signin-img-1 d-none d-md-block z-index-3">
<img src="img/login/login-2.png" alt="">
</div>
<div class="signin-banner-img signin-img-2 d-none d-md-block">
<img src="img/login/login-1.png" alt="">
</div>
<div class="signin-banner-img signin-img-3 d-none d-md-block z-index-5">
<img src="img/login/login-3.png" alt="">
</div>
<div class="signin-banner-img signin-img-4 d-none d-sm-block">
<img src="img/login/login-4.png" alt="">
</div>
</div>
</div>
</div>
<div class="signin-banner-from d-flex justify-content-center align-items-center">
<div class="signin-banner-from-wrap">
<div class="signin-banner-title-box">
<h4 class="signin-banner-from-title">ثبت نام</h4>
</div>
<div class="signin-banner-from-box">
<EditForm EditContext="editContext" OnValidSubmit="OnRegisterClick">
<DataAnnotationsValidator />
<div class="postbox__comment-input mb-35">
<ValidationMessage For="()=>model.CompanyName" />
<ValidationMessage For="()=>model.Mobile" />
</div>
<div class="row">
<div class="col-12">
<div class="postbox__comment-input mb-30">
<InputText style="text-align:center" onkeydown="@OnClearmessageStore" @bind-Value="model.CompanyName" id="CompanyName" type="text" class="inputText" required="" />
<span class="floating-label">نام کامل</span>
</div>
</div>
<div class="col-12">
<div class="postbox__comment-input mb-30">
<InputText style="text-align:center" dir="ltr" onkeydown="@OnClearmessageStore" @bind-Value="model.Mobile" id="Mobile" type="number" class="inputText" required="" />
<span class="floating-label">موبایل</span>
</div>
</div>
</div>
<div class="col-2">
<Spinner Visible="SpinnerVisible" Color="SpinnerColor.Primary" />
</div>
<div class="signin-banner-from-btn mb-20">
<button hidden="@hidden" type="submit" class="signin-btn ">ثبت نام</button>
</div>
</EditForm>
<div class="signin-banner-from-register">
<NavLink hidden="@hidden" href="Sign-in">ثبت نام کردید؟ <span>ورود</span></NavLink>
</div>
</div>
</div>
</div>
</div>
<!-- tp-banner-area-end -->
</main>
@code {
public string hidden { get; set; }
public bool SpinnerVisible { get; set; } = false;
string type = "CompanyRegistration";
private EditContext? editContext;
[SupplyParameterFromForm]
private CompanyRegistrationDTO? model { get; set; } = new CompanyRegistrationDTO();
private ValidationMessageStore? messageStore;
protected override async Task OnInitializedAsync()
{
editContext = new EditContext(model);
messageStore = new(editContext);
if (await localserv.OnlineUser())
nav.NavigateTo("/");
await base.OnInitializedAsync();
}
}
@functions{
private async Task OnClearmessageStore() => messageStore?.Clear();
private async Task OnRegisterClick()
{
SpinnerVisible = !SpinnerVisible;
hidden = "hidden";
var request = await _hc.PostAsJsonAsync("Base/CompanyRegistration", model);
if (request.IsSuccessStatusCode)
{
messageStore?.Clear();
var VerificationID = await request.Content.ReadFromJsonAsync<int>();
nav.NavigateTo($"Verification/{VerificationID}");
}
else
{
var error = await request.Content.ReadFromJsonAsync<List<string>>();
messageStore?.Add(() => model.Mobile, error);
}
hidden = null;
SpinnerVisible = !SpinnerVisible;
}
}