@page "/UserManagement" @using Common.Dtos.User @using Hushian.Application.Dtos @using HushianWebApp.Components @using HushianWebApp.Service @using HushianWebApp.Services @inject ILocalStorageService localStorageService; @inject NavigationManager navigationManager; @inject UserService userService; @if (context.img?.Length != 0) { Uploaded Image } else { } @context.UserName @context.FullName @context.Email @* @context.PhoneNumber *@ @code { private ConfirmDialog dialog = default!; Dictionary parameters = new Dictionary(); Grid grid = default!; private Modal modal = default!; string title = "کارشناس جدید"; protected override async Task OnInitializedAsync() { parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBack)); if (!(await localStorageService.GetItem>("Role")).Any(a =>a== "HushianManagerCompany") ) navigationManager.NavigateTo("/NotFound"); await base.OnInitializedAsync(); } private async Task> DataProvider(GridDataProviderRequest request) { var employees = await userService.GetExpersCompany(0, request.PageNumber, request.PageSize); return await Task.FromResult(request.ApplyTo(employees != null ? employees.list : new())); } async Task CallBack() { await modal.HideAsync(); await grid.RefreshDataAsync(); } private async Task OnRowClick(GridRowEventArgs args) { var editmodel = new EditUserFromUserDto() { Email = args.Item.Email, FullName = args.Item.FullName, UserName = args.Item.UserName, img = args.Item.img }; Dictionary eparameters = new Dictionary(); eparameters.Add("model", editmodel); eparameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBack)); await modal.ShowAsync($"ویرایش کارشناس {args.Item.FullName}", parameters: eparameters); } private async Task SwitchChanged(HushianUserDto model,bool value) { if (model.Available != value) { if (await userService.ChangeAvailableExperFromManager(model.UserID, value)) model.Available = value; } } private async Task DeleteExper(string ExperID,string name) { var confirmation = await dialog.ShowAsync( title: $"مطمئنی می‌خوای {name} حذف کنی؟", message1: "پس از حذف، نمی‌توان آن را به حالت اولیه برگرداند.", message2: "می‌خوای ادامه بدی؟",new ConfirmDialogOptions() { YesButtonColor=ButtonColor.Danger, YesButtonText="بله", NoButtonText="نه !" }); if (!confirmation) return; if (await userService.DeleteExperFromManager(ExperID)) await grid.RefreshDataAsync(); } private string GetImageSource(byte[]? img) { if (img != null) { return $"data:image/jpeg;base64,{Convert.ToBase64String(img)}"; } return string.Empty; } async Task showGroupsComponent(string ExperID, string name) { Dictionary eparameters = new Dictionary(); eparameters.Add("ExperID", ExperID); modal.Size = ModalSize.Small; await modal.ShowAsync($"گروه های کارشناس {name}", parameters: eparameters); } }