@using Common.Dtos.User @using HushianWebApp.Service @using HushianWebApp.Services @inject UserService userService; @inject ILocalStorageService localStorageService;
@if (model.img != null && model.img.Length > 0) { Uploaded Image }
@if (isAuthorizedCompanyUser) { }
@code { bool isAuthorizedCompanyUser = false; [Parameter] public EventCallback OnMultipleOfThree { get; set; } public List Roles { get; set; } = new(); public bool loading { get; set; } = false; [Inject] protected ToastService ToastService { get; set; } = default!; public EditUserFromUserDto model { get; set; } = new(); protected override async Task OnInitializedAsync() { var user=await userService.GetCurrentUser(); if (user!=null) { model.UserName=user.UserName; model.img = user.img; model.FullName = user.FullName; model.Email = user.Email; Roles = await localStorageService.GetItem>("Role"); isAuthorizedCompanyUser = Roles.Contains("HushianExperCompany") && await userService.CheckAvailableExperInCompany(); } else { ToastService.Notify(new ToastMessage(ToastType.Danger,"خطا در فراخوانی اطلاعات کاربر")); } await base.OnInitializedAsync(); } 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; } async Task NewItem() { if (!string.IsNullOrEmpty(model.FullName)) { if (string.IsNullOrEmpty(model.Email)) model.Email = $"{model.UserName}@hushian.ir"; loading = true; if (await userService.EditUserYourself(model)) { loading = false; await OnMultipleOfThree.InvokeAsync(model); } loading = false; } } async Task FreeExper() { loading = true; if (await userService.FreeExper()) { loading = false; await OnMultipleOfThree.InvokeAsync(model); } loading = false; } }