Files
Hushian/Presentation/HushianWebApp/Components/ADDExperComponent.razor

97 lines
3.2 KiB
Plaintext
Raw Permalink Normal View History

2025-07-12 21:33:44 +03:30
@using Common.Dtos.Exper
2025-07-11 20:37:28 +03:30
@using HushianWebApp.Service
@using HushianWebApp.Services
2025-07-12 21:33:44 +03:30
@using Common.Validation
2025-07-11 20:37:28 +03:30
@inject UserService userService;
<div class="row" style="height: fit-content; padding: 1rem;">
<div class="col-md-12">
<input dir="ltr" style="text-align:center;margin-bottom:10px" @bind-value="@model.FullName" type="text" class="form-control" placeholder="نام و نام خانوادگی" />
</div>
<div class="col-md-12">
2025-07-12 21:33:44 +03:30
<input dir="ltr" style="text-align:center;margin-bottom:10px" @bind-value="@model.Password" type="password" class="form-control" placeholder="کلمه عبور" />
2025-07-11 20:37:28 +03:30
</div>
<div class="col-md-12">
2025-07-12 21:33:44 +03:30
<input dir="ltr" style="text-align:center;margin-bottom:10px" @bind-value="@RePassword" type="password" class="form-control" placeholder="تکرار کلمه عبور" />
2025-07-11 20:37:28 +03:30
</div>
<Button Loading=loading LoadingText="در حال ذخیره اطلاعات..." Color="ButtonColor.Warning" @onclick="NewItem"> جدید </Button>
</div>
@code {
2025-07-12 21:33:44 +03:30
[Inject] protected ToastService ToastService { get; set; } = default!;
public ADD_ExperDto model { get; set; } = new();
public string RePassword { get; set; }
2025-07-11 20:37:28 +03:30
[Parameter] public EventCallback OnMultipleOfThree { get; set; }
public bool loading { get; set; } = false;
}
2025-07-12 21:33:44 +03:30
@functions {
async Task<bool> Validation()
{
if (string.IsNullOrEmpty(model.FullName))
{
ToastService.Notify(new(ToastType.Danger, $"نام و نام خانوادگی را مشخص کنید"));
return false;
}
if (!model.FullName.IsOnlyPersianLetters())
{
ToastService.Notify(new(ToastType.Danger, $"نام و نام خانوادگی را به صورت فارسی مشخص کنید"));
return false;
}
if (model.Password!=RePassword)
{
ToastService.Notify(new(ToastType.Danger, $"کلمه عبور و تکرار آن مشابه نیستند"));
return false;
}
List<string> errors = new();
if (!model.Password.CheckLawPassword(ref errors))
{
ToastService.Notify(new(ToastType.Danger, errors.First()));
return false;
}
return true;
}
2025-07-11 20:37:28 +03:30
async Task NewItem()
{
2025-07-12 21:33:44 +03:30
if (await Validation())
2025-07-11 20:37:28 +03:30
{
loading = true;
if (await userService.AddExper(model))
{
loading = false;
await OnMultipleOfThree.InvokeAsync();
}
loading = false;
}
}
protected override async Task OnParametersSetAsync()
{
model = new();
2025-07-12 21:33:44 +03:30
await base.OnParametersSetAsync();
2025-07-11 20:37:28 +03:30
}
2025-07-12 21:33:44 +03:30
// private async Task OnFileChange(InputFileChangeEventArgs e)
// {
// var file = e.File;
// using (var memoryStream = new MemoryStream())
// {
// await file.OpenReadStream().CopyToAsync(memoryStream);
// model.img = memoryStream.ToArray();
// }
// }
// private string GetImageSource()
// {
// if (model.img != null)
// {
// return $"data:image/jpeg;base64,{Convert.ToBase64String(model.img)}";
// }
// return string.Empty;
// }
2025-07-11 20:37:28 +03:30
}