From d2b4b1a0a0a9ced18fb5473fa0b795b214bb8046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20B=C3=B6rchers?= Date: Tue, 25 Aug 2020 22:55:58 +0200 Subject: [PATCH] Bring the autocomplete bo to live --- .../BaseRepository.cs | 2 +- .../IRepository.cs | 4 ++-- .../OrganizationUnitsRepository.cs | 4 ++-- .../SecurityGroupsRepository.cs | 2 +- .../UsersRepository.cs | 2 +- UserService.db | Bin 40960 -> 40960 bytes UserService/Pages/Directory.razor.cs | 2 +- UserService/Pages/SecurityGroups.razor.cs | 13 +++++++++++-- UserService/Pages/Users.razor.cs | 2 +- UserService/Startup.cs | 2 +- 10 files changed, 21 insertions(+), 12 deletions(-) rename UserService.DatabaseLayer/{Repository => Repositories}/BaseRepository.cs (97%) rename UserService.DatabaseLayer/{Repository => Repositories}/IRepository.cs (89%) rename UserService.DatabaseLayer/{Repository => Repositories}/OrganizationUnitsRepository.cs (97%) rename UserService.DatabaseLayer/{Repository => Repositories}/SecurityGroupsRepository.cs (83%) rename UserService.DatabaseLayer/{Repository => Repositories}/UsersRepository.cs (81%) diff --git a/UserService.DatabaseLayer/Repository/BaseRepository.cs b/UserService.DatabaseLayer/Repositories/BaseRepository.cs similarity index 97% rename from UserService.DatabaseLayer/Repository/BaseRepository.cs rename to UserService.DatabaseLayer/Repositories/BaseRepository.cs index 61db729..127e8d2 100644 --- a/UserService.DatabaseLayer/Repository/BaseRepository.cs +++ b/UserService.DatabaseLayer/Repositories/BaseRepository.cs @@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore; using UserService.DatabaseLayer.DataModels; using UserService.Infrastructure.DataModels; -namespace UserService.DatabaseLayer.Repository +namespace UserService.DatabaseLayer.Repositories { public class BaseRepository where T : Node { diff --git a/UserService.DatabaseLayer/Repository/IRepository.cs b/UserService.DatabaseLayer/Repositories/IRepository.cs similarity index 89% rename from UserService.DatabaseLayer/Repository/IRepository.cs rename to UserService.DatabaseLayer/Repositories/IRepository.cs index 74058e5..5874bf0 100644 --- a/UserService.DatabaseLayer/Repository/IRepository.cs +++ b/UserService.DatabaseLayer/Repositories/IRepository.cs @@ -6,7 +6,7 @@ using System.Threading; using System.Threading.Tasks; using UserService.Infrastructure.DataModels; -namespace UserService.DatabaseLayer.Repository +namespace UserService.DatabaseLayer.Repositories { public interface IRepository where T : Node { @@ -32,7 +32,7 @@ namespace UserService.DatabaseLayer.Repository } - public interface INodesRepository : IRepository + public interface IMembersRepository : IRepository { } diff --git a/UserService.DatabaseLayer/Repository/OrganizationUnitsRepository.cs b/UserService.DatabaseLayer/Repositories/OrganizationUnitsRepository.cs similarity index 97% rename from UserService.DatabaseLayer/Repository/OrganizationUnitsRepository.cs rename to UserService.DatabaseLayer/Repositories/OrganizationUnitsRepository.cs index fa44e7c..8c6b43a 100644 --- a/UserService.DatabaseLayer/Repository/OrganizationUnitsRepository.cs +++ b/UserService.DatabaseLayer/Repositories/OrganizationUnitsRepository.cs @@ -8,7 +8,7 @@ using Microsoft.EntityFrameworkCore; using UserService.DatabaseLayer.DataModels; using UserService.Infrastructure.DataModels; -namespace UserService.DatabaseLayer.Repository +namespace UserService.DatabaseLayer.Repositories { public class OrganizationUnitsRepository : BaseRepository, IOrganizationUnitsRepository { @@ -21,7 +21,6 @@ namespace UserService.DatabaseLayer.Repository Expression>? predicate = null, CancellationToken token = default) { await using var db = new UserServiceDbContext(); - var result = new List(); var rootOus = await Context(db) .Include(x => x.Parent) .WhereOrDefault(predicate) @@ -40,6 +39,7 @@ namespace UserService.DatabaseLayer.Repository } } + var result = new List(); foreach (var ou in rootOus.Where(x => x.ParentId is null)) { result.AddRange(Rec(ou)); diff --git a/UserService.DatabaseLayer/Repository/SecurityGroupsRepository.cs b/UserService.DatabaseLayer/Repositories/SecurityGroupsRepository.cs similarity index 83% rename from UserService.DatabaseLayer/Repository/SecurityGroupsRepository.cs rename to UserService.DatabaseLayer/Repositories/SecurityGroupsRepository.cs index 6948ce7..17b09c9 100644 --- a/UserService.DatabaseLayer/Repository/SecurityGroupsRepository.cs +++ b/UserService.DatabaseLayer/Repositories/SecurityGroupsRepository.cs @@ -1,6 +1,6 @@ using UserService.Infrastructure.DataModels; -namespace UserService.DatabaseLayer.Repository +namespace UserService.DatabaseLayer.Repositories { public class SecurityGroupsRepository : BaseRepository, ISecurityGroupsRepository { diff --git a/UserService.DatabaseLayer/Repository/UsersRepository.cs b/UserService.DatabaseLayer/Repositories/UsersRepository.cs similarity index 81% rename from UserService.DatabaseLayer/Repository/UsersRepository.cs rename to UserService.DatabaseLayer/Repositories/UsersRepository.cs index cb60251..f3e4e9e 100644 --- a/UserService.DatabaseLayer/Repository/UsersRepository.cs +++ b/UserService.DatabaseLayer/Repositories/UsersRepository.cs @@ -1,6 +1,6 @@ using UserService.Infrastructure.DataModels; -namespace UserService.DatabaseLayer.Repository +namespace UserService.DatabaseLayer.Repositories { public class UsersRepository : BaseRepository, IUsersRepository { diff --git a/UserService.db b/UserService.db index 6b7aa385c92dd4463502082b7ec6098d6e2974fb..c3831e10c3e6cbb3cd66dd87a199d351fb1d45a7 100644 GIT binary patch delta 107 zcmZoTz|?SnX#=AHH$Nu>C!ZYy-z`47%{&H1d`=esq2MPsgCql^sIjCxCqqVlPI_w5 yztG~;A_z0d!q_1_H!(9uFF8Ng11#%wcw13&Mru*<VI3WD)!S|NmxQ`_Bmg6?P8Y diff --git a/UserService/Pages/Directory.razor.cs b/UserService/Pages/Directory.razor.cs index d7e6419..d5c03f7 100644 --- a/UserService/Pages/Directory.razor.cs +++ b/UserService/Pages/Directory.razor.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Components; -using UserService.DatabaseLayer.Repository; +using UserService.DatabaseLayer.Repositories; using UserService.Infrastructure.DataModels; namespace UserService.Pages diff --git a/UserService/Pages/SecurityGroups.razor.cs b/UserService/Pages/SecurityGroups.razor.cs index b0de0dd..66e1390 100644 --- a/UserService/Pages/SecurityGroups.razor.cs +++ b/UserService/Pages/SecurityGroups.razor.cs @@ -6,7 +6,7 @@ using Blazorise; using Blazorise.DataGrid; using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; -using UserService.DatabaseLayer.Repository; +using UserService.DatabaseLayer.Repositories; using UserService.Infrastructure.DataModels; namespace UserService.Pages @@ -14,6 +14,9 @@ namespace UserService.Pages public class SecurityGroupsBase : MembersBase { [Inject] private ISecurityGroupsRepository SecurityGroupsRepository { get; set; } = null!; + + [Inject] private IUsersRepository UsersRepository { get; set; } = null!; + [Inject] private IOrganizationUnitsRepository OrganizationUnitsRepository { get; set; } = null!; // reference to the modal component @@ -64,13 +67,19 @@ namespace UserService.Pages protected async Task MySearchHandler(object arg) { var addedMember = arg as Member; + if(addedMember is null) return; var confirmed = await JsRuntime.InvokeAsync("confirm", addedMember?.CommonName ?? "Fuck") .ConfigureAwait(false); } protected async Task OnSearchChanged(string arg) { - //TODO + var result = new List(); + var users = await UsersRepository.GetAllAsync().ConfigureAwait(false); + var securityGroups = await SecurityGroupsRepository.GetAllAsync().ConfigureAwait(false); + result.AddRange(users.Where(x=> x.CommonName.StartsWith(arg, StringComparison.InvariantCultureIgnoreCase) || x.FullName.StartsWith(arg, StringComparison.InvariantCultureIgnoreCase))); + result.AddRange(securityGroups.Where(x=> x.CommonName.StartsWith(arg, StringComparison.InvariantCultureIgnoreCase)).Where(x=> x.Id != SelectedSecurityGroup?.Id)); + AvailableMembers = result; } protected void OnButtonClicked(SecurityGroup securityGroup) diff --git a/UserService/Pages/Users.razor.cs b/UserService/Pages/Users.razor.cs index 10a634b..f13faf1 100644 --- a/UserService/Pages/Users.razor.cs +++ b/UserService/Pages/Users.razor.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using Blazorise; using Blazorise.DataGrid; using Microsoft.JSInterop; -using UserService.DatabaseLayer.Repository; +using UserService.DatabaseLayer.Repositories; using UserService.Infrastructure.DataModels; using UserService.Infrastructure; diff --git a/UserService/Startup.cs b/UserService/Startup.cs index 8827107..10cf27a 100644 --- a/UserService/Startup.cs +++ b/UserService/Startup.cs @@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using UserService.DatabaseLayer.Repository; +using UserService.DatabaseLayer.Repositories; namespace UserService {