Files
moadiran/TaxPayerFull/Layout/Contact.razor

132 lines
5.9 KiB
Plaintext
Raw Normal View History

2024-04-14 16:09:36 +03:30
@using Front.Pages
@using Shared.DTOs
@inject HttpClient _hc
2024-04-14 22:19:39 +03:30
@inject NavigationManager nav
2024-04-14 16:09:36 +03:30
<div class="contact-info-area pb-90" id="contact">
2024-03-29 17:44:38 +03:30
<div class="container">
<div class="row">
</div>
</div>
</div>
<div class="contact-form-area pb-120">
<div class="container">
<div class="row gx-0">
<div class="col-xl-5 col-lg-6">
<div class="contact-form-left">
<div class="contact-form-section-box pb-80">
<h5 class="inner-section-subtitle">ارتباط با ما</h5>
<h4 class="tp-section-title pb-10">
ما مشتاقانه منتظر <br> نظرات شما هستیم
</h4>
</div>
<div class="contact-form-social-box p-relative">
<div class="contact-form-section-img">
<img src="img/contact/contact-icon-sm-4.png" alt="">
</div>
</div>
</div>
</div>
<div class="col-xl-7 col-lg-6">
<div class="contact-form-right-warp">
<div class="postbox__comment-form">
2024-04-14 16:09:36 +03:30
<EditForm EditContext="editContext" OnValidSubmit="newTicket">
<DataAnnotationsValidator />
<div class="postbox__comment-input mb-35">
<ValidationMessage For="()=>model.FullName" />
<ValidationMessage For="()=>model.Mobile" />
<ValidationMessage For="()=>model.Title" />
<ValidationMessage For="()=>model.Text" />
</div>
2024-03-29 17:44:38 +03:30
<div class="row gx-20">
<div class="col-12">
<div class="postbox__comment-input mb-30">
2024-10-14 15:56:45 +03:30
<InputText style="text-align:center" onkeydown="@OnClearmessageStore" @bind-Value="model.FullName" id="FullName" 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-35">
2024-10-14 15:56:45 +03:30
<InputText dir="ltr" style="text-align:center" onkeydown="@OnClearmessageStore" @bind-Value="model.Mobile" id="Mobile" type="number" class="inputText" required="" />
2024-04-14 16:09:36 +03:30
<span class="floating-label">موبایل</span>
2024-03-29 17:44:38 +03:30
</div>
</div>
<div class="col-12">
2024-04-14 16:09:36 +03:30
<div class="postbox__comment-input mb-35">
2024-10-14 15:56:45 +03:30
<InputText style="text-align:right" @bind-Value="model.Title" id="Title" type="text" class="inputText" required="" />
2024-04-14 16:09:36 +03:30
<span class="floating-label">عنوان</span>
2024-03-29 17:44:38 +03:30
</div>
</div>
<div class="col-xxl-12">
<div class="postbox__comment-input mb-30">
2024-10-14 15:56:45 +03:30
<InputText style="text-align:right" @bind-Value="model.Text" id="Text" class="textareaText" required=""></InputText>
2024-03-29 17:44:38 +03:30
<span class="floating-label-2">پیام شما ...</span>
</div>
</div>
2024-10-14 15:56:45 +03:30
<div class="col-xxl-10">
2024-03-29 17:44:38 +03:30
<div class="postbox__btn-box">
2024-10-14 15:56:45 +03:30
<Button Disabled="SpinnerVisible" Type="ButtonType.Submit" Color="ButtonColor.Primary">ارسال پیام</Button>
2024-03-29 17:44:38 +03:30
</div>
</div>
2024-10-14 15:56:45 +03:30
<div class="col-md-2" style="align-content:center">
<Spinner Visible="SpinnerVisible" Color="SpinnerColor.Primary" />
</div>
2024-03-29 17:44:38 +03:30
</div>
2024-04-14 16:09:36 +03:30
</EditForm>
2024-04-16 22:56:02 +03:30
2024-04-16 16:35:22 +03:30
2024-03-29 17:44:38 +03:30
</div>
</div>
</div>
</div>
</div>
</div>
2024-04-16 16:13:47 +03:30
2024-03-29 17:44:38 +03:30
@code {
2024-10-14 15:56:45 +03:30
public bool SpinnerVisible { get; set; } = false;
2024-04-14 16:09:36 +03:30
string type = "NewTicketNoAuthentication";
private EditContext? editContext;
[SupplyParameterFromForm]
private CTicketNoAuthenticationDto? model { get; set; } = new CTicketNoAuthenticationDto();
private ValidationMessageStore? messageStore;
protected override void OnInitialized()
{
// modelTaxTools ??= new();
// editContext = new(modelTaxTools);
// editContext.OnValidationRequested += HandleValidationRequested;
// messageStore = new(editContext);
2024-10-14 15:56:45 +03:30
SpinnerVisible = false;
2024-04-14 16:09:36 +03:30
editContext = new EditContext(model);
messageStore = new(editContext);
}
}
@functions{
2024-04-17 15:49:34 +03:30
private async Task OnClearmessageStore() => messageStore?.Clear();
2024-04-14 16:09:36 +03:30
private async Task newTicket(){
2024-10-14 15:56:45 +03:30
SpinnerVisible = true;
2024-04-14 22:19:39 +03:30
var request = await _hc.PostAsJsonAsync("Ticket/NewTicketNoAuthentication", model);
if (request.IsSuccessStatusCode)
{
messageStore?.Clear();
2024-04-16 22:57:15 +03:30
var VerificationID = await request.Content.ReadFromJsonAsync<int>();
nav.NavigateTo($"Verification/{VerificationID}");
2024-04-14 22:19:39 +03:30
}
else
{
var error = await request.Content.ReadFromJsonAsync<List<string>>();
messageStore?.Add(() => model.Mobile, error);
2024-03-29 17:44:38 +03:30
2024-04-14 22:19:39 +03:30
}
2024-10-14 15:56:45 +03:30
SpinnerVisible = false;
2024-04-14 16:09:36 +03:30
}
2024-04-16 16:13:47 +03:30
2024-04-16 22:56:02 +03:30
2024-04-16 16:13:47 +03:30
2024-03-29 17:44:38 +03:30
}