Bring the autocomplete bo to live

This commit is contained in:
Holger Börchers 2020-08-25 22:55:58 +02:00
parent 86acf9947c
commit d2b4b1a0a0
10 changed files with 21 additions and 12 deletions

View File

@ -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<T> where T : Node
{

View File

@ -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<T> where T : Node
{
@ -32,7 +32,7 @@ namespace UserService.DatabaseLayer.Repository
}
public interface INodesRepository : IRepository<Node>
public interface IMembersRepository : IRepository<Member>
{
}

View File

@ -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<OrganizationUnit>, IOrganizationUnitsRepository
{
@ -21,7 +21,6 @@ namespace UserService.DatabaseLayer.Repository
Expression<Func<OrganizationUnit, bool>>? predicate = null, CancellationToken token = default)
{
await using var db = new UserServiceDbContext();
var result = new List<OrganizationUnit>();
var rootOus = await Context(db)
.Include(x => x.Parent)
.WhereOrDefault(predicate)
@ -40,6 +39,7 @@ namespace UserService.DatabaseLayer.Repository
}
}
var result = new List<OrganizationUnit>();
foreach (var ou in rootOus.Where(x => x.ParentId is null))
{
result.AddRange(Rec(ou));

View File

@ -1,6 +1,6 @@
using UserService.Infrastructure.DataModels;
namespace UserService.DatabaseLayer.Repository
namespace UserService.DatabaseLayer.Repositories
{
public class SecurityGroupsRepository : BaseRepository<SecurityGroup>, ISecurityGroupsRepository
{

View File

@ -1,6 +1,6 @@
using UserService.Infrastructure.DataModels;
namespace UserService.DatabaseLayer.Repository
namespace UserService.DatabaseLayer.Repositories
{
public class UsersRepository : BaseRepository<User>, IUsersRepository
{

Binary file not shown.

View File

@ -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

View File

@ -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<SecurityGroup>
{
[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<bool>("confirm", addedMember?.CommonName ?? "Fuck")
.ConfigureAwait(false);
}
protected async Task OnSearchChanged(string arg)
{
//TODO
var result = new List<Member>();
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)

View File

@ -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;

View File

@ -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
{