Files
moadiran/TaxPayerFull/Pages/Register.razor

114 lines
5.0 KiB
Plaintext
Raw Normal View History

2024-03-29 17:44:38 +03:30
@page "/Register"
2024-04-17 15:49:34 +03:30
@using Shared.DTOs
@inject HttpClient _hc
@inject NavigationManager nav
2024-03-29 17:44:38 +03:30
<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">
2024-04-17 15:49:34 +03:30
<br />
<h4 class="signin-banner-title" style="color:black">
برای استفاده از همه بخش ها <br /> ثبت نام کنید
2024-03-29 17:44:38 +03:30
</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">
2024-04-17 15:49:34 +03:30
<EditForm EditContext="editContext" OnValidSubmit="OnRegisterClick">
<DataAnnotationsValidator />
<div class="postbox__comment-input mb-35">
<ValidationMessage For="()=>model.CompanyName" />
<ValidationMessage For="()=>model.Mobile" />
</div>
2024-03-29 17:44:38 +03:30
<div class="row">
<div class="col-12">
<div class="postbox__comment-input mb-30">
2024-04-17 15:49:34 +03:30
<InputText onkeydown="@OnClearmessageStore" @bind-Value="model.CompanyName" id="CompanyName" type="text" class="inputText" required="" />
2024-03-29 17:44:38 +03:30
<span class="floating-label">نام کامل</span>
</div>
</div>
<div class="col-12">
<div class="postbox__comment-input mb-30">
2024-04-17 15:49:34 +03:30
<InputText onkeydown="@OnClearmessageStore" @bind-Value="model.Mobile" id="Mobile" type="text" class="inputText" required="" />
<span class="floating-label">موبایل</span>
2024-03-29 17:44:38 +03:30
</div>
</div>
</div>
2024-04-17 15:49:34 +03:30
<div class="signin-banner-from-btn mb-20">
<button type="submit" class="signin-btn ">ثبت نام</button>
2024-03-29 17:44:38 +03:30
</div>
2024-04-17 15:49:34 +03:30
</EditForm>
<div class="signin-banner-from-register">
<NavLink href="Sign-in">ثبت نام کردید؟ <span>ورود</span></NavLink>
2024-03-29 17:44:38 +03:30
</div>
</div>
</div>
</div>
</div>
<!-- tp-banner-area-end -->
</main>
@code {
2024-04-17 15:49:34 +03:30
string type = "CompanyRegistration";
private EditContext? editContext;
[SupplyParameterFromForm]
private CompanyRegistrationDTO? model { get; set; } = new CompanyRegistrationDTO();
private ValidationMessageStore? messageStore;
2024-03-29 17:44:38 +03:30
2024-04-17 15:49:34 +03:30
protected override async Task OnInitializedAsync()
{
editContext = new EditContext(model);
messageStore = new(editContext);
await base.OnInitializedAsync();
}
2024-03-29 17:44:38 +03:30
}
2024-04-17 15:49:34 +03:30
@functions{
private async Task OnClearmessageStore() => messageStore?.Clear();
private async Task OnRegisterClick()
{
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);
}
}
}