|
86 | 86 | Variant="Variant.Outlined" |
87 | 87 | Color="Color.Primary" |
88 | 88 | StartIcon="@Icons.Material.Filled.Upload" |
89 | | - for="@context"> |
| 89 | + for="@context"> |
90 | 90 | @if (_uploading) |
91 | 91 | { |
92 | 92 | <MudProgressCircular Class="ms-n1" Size="Size.Small" Indeterminate="true" /> |
|
225 | 225 | </MudTd> |
226 | 226 | <MudTd HideSmall="true" DataLabel="@L["Is Active"]"> |
227 | 227 | <MudCheckBox Checked="@context.IsActive" ReadOnly Color="Color.Secondary"></MudCheckBox> |
228 | | - </MudTd> |
229 | | - <MudTd HideSmall="true" DataLabel="@L["Lock Status"]">@context.LockoutEnd</MudTd> |
230 | | - </RowTemplate> |
231 | | - <PagerContent> |
232 | | - <MudTablePager PageSizeOptions="@(new int[]{10,15,30,50,100,500,1000})" /> |
233 | | - </PagerContent> |
234 | | - </MudTable> |
235 | | - |
236 | | - <_PermissionsDrawer OnAssignAllChanged="OnAssignAllChangedHandler" Waiting="@_processing" OnOpenChanged="OnOpenChangedHandler" Open="_showPermissionsDrawer" Permissions="_permissions" OnAssignChanged="OnAssignChangedHandler"></_PermissionsDrawer> |
237 | | - </ChildContent> |
238 | | - <ErrorContent> |
239 | | - <CustomError Exception="context"></CustomError> |
240 | | - </ErrorContent> |
241 | | -</ErrorBoundary> |
| 228 | + </MudTd> |
| 229 | + <MudTd HideSmall="true" DataLabel="@L["Lock Status"]">@context.LockoutEnd</MudTd> |
| 230 | + </RowTemplate> |
| 231 | + <PagerContent> |
| 232 | + <MudTablePager PageSizeOptions="@(new int[]{10,15,30,50,100,500,1000})" /> |
| 233 | + </PagerContent> |
| 234 | + </MudTable> |
| 235 | + |
| 236 | + <_PermissionsDrawer OnAssignAllChanged="OnAssignAllChangedHandler" Waiting="@_processing" OnOpenChanged="OnOpenChangedHandler" Open="_showPermissionsDrawer" Permissions="_permissions" OnAssignChanged="OnAssignChangedHandler"></_PermissionsDrawer> |
| 237 | + </ChildContent> |
| 238 | + <ErrorContent> |
| 239 | + <CustomError Exception="context"></CustomError> |
| 240 | + </ErrorContent> |
| 241 | + </ErrorBoundary> |
242 | 242 |
|
243 | 243 | @code { |
244 | 244 | [Inject] |
|
332 | 332 | try |
333 | 333 | { |
334 | 334 | _loading = true; |
335 | | - var items = await _userManager.Users.Where(x => x.UserName.Contains(_searchString) || |
336 | | - x.Email.Contains(_searchString) || |
337 | | - x.DisplayName.Contains(_searchString) || |
338 | | - x.PhoneNumber.Contains(_searchString) || |
339 | | - x.TenantName.Contains(_searchString) || |
340 | | - x.UserRoles.Any(x=>x.Role.Name.Contains(_searchString))) |
| 335 | + var items = await _userManager.Users.Where(x => x.UserName.Contains(_searchString) || |
| 336 | + x.Email.Contains(_searchString) || |
| 337 | + x.DisplayName.Contains(_searchString) || |
| 338 | + x.PhoneNumber.Contains(_searchString) || |
| 339 | + x.TenantName.Contains(_searchString) || |
| 340 | + x.Provider.Contains(_searchString) || |
| 341 | + x.UserRoles.Any(x => x.Role.Name.Contains(_searchString))) |
341 | 342 | .Include(x => x.UserRoles).ThenInclude(x => x.Role) |
342 | 343 | .OrderBy($"{state.SortLabel ?? "UserName"} {(state.SortDirection == SortDirection.None ? SortDirection.Descending.ToString() : state.SortDirection.ToString())}") |
343 | 344 | .Skip(state.Page * state.PageSize).Take(state.PageSize).ProjectTo<ApplicationUserDto>(_mapper.ConfigurationProvider).ToListAsync(); |
|
670 | 671 | private async Task OnExport() |
671 | 672 | { |
672 | 673 | _exporting = true; |
673 | | - var items = await _userManager.Users |
674 | | - .Where(x => x.UserName.Contains(_searchString) || x.Email.Contains(_searchString) || x.DisplayName.Contains(_searchString) || x.PhoneNumber.Contains(_searchString)) |
675 | | - .Select(x => new ApplicationUserDto() |
676 | | - { |
677 | | - Id = x.Id, |
678 | | - UserName = x.UserName!, |
679 | | - DisplayName = x.DisplayName, |
680 | | - Email = x.Email!, |
681 | | - PhoneNumber = x.PhoneNumber, |
682 | | - TenantName = x.TenantName, |
683 | | - }).ToListAsync(); |
| 674 | + var items = await _userManager.Users.Where(x => x.UserName.Contains(_searchString) || |
| 675 | + x.Email.Contains(_searchString) || |
| 676 | + x.DisplayName.Contains(_searchString) || |
| 677 | + x.PhoneNumber.Contains(_searchString) || |
| 678 | + x.TenantName.Contains(_searchString) || |
| 679 | + x.Provider.Contains(_searchString) || |
| 680 | + x.UserRoles.Any(x => x.Role.Name.Contains(_searchString))) |
| 681 | + .Select(x => new ApplicationUserDto() |
| 682 | + { |
| 683 | + Id = x.Id, |
| 684 | + UserName = x.UserName!, |
| 685 | + DisplayName = x.DisplayName, |
| 686 | + Email = x.Email!, |
| 687 | + PhoneNumber = x.PhoneNumber, |
| 688 | + TenantId = x.TenantId, |
| 689 | + TenantName = x.TenantName, |
| 690 | + }).ToListAsync(); |
684 | 691 | var result = await _excelService.ExportAsync(items, |
685 | 692 | new Dictionary<string, Func<ApplicationUserDto, object?>>() |
686 | | - { |
| 693 | + { |
687 | 694 | {L["Id"],item => item.Id}, |
688 | 695 | {L["User Name"],item => item.UserName}, |
689 | 696 | {L["Display Name"],item => item.DisplayName}, |
690 | 697 | {L["Email"],item => item.Email}, |
691 | 698 | {L["Phone Number"],item => item.PhoneNumber}, |
| 699 | + {L["Tenant Id"],item => item.TenantId}, |
692 | 700 | {L["Tenant Name"],item => item.TenantName}, |
693 | | - } |
| 701 | + } |
694 | 702 | , L["Users"]); |
695 | 703 | var downloadresult = await _blazorDownloadFileService.DownloadFile($"{L["Users"]}.xlsx", result, contentType: "application/octet-stream"); |
696 | 704 | Snackbar.Add($"{ConstantString.EXPORTSUCESS}", MudBlazor.Severity.Info); |
|
0 commit comments