Bring the autocomplete bo to live
This commit is contained in:
parent
86acf9947c
commit
d2b4b1a0a0
@ -9,7 +9,7 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
using UserService.DatabaseLayer.DataModels;
|
using UserService.DatabaseLayer.DataModels;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.DatabaseLayer.Repository
|
namespace UserService.DatabaseLayer.Repositories
|
||||||
{
|
{
|
||||||
public class BaseRepository<T> where T : Node
|
public class BaseRepository<T> where T : Node
|
||||||
{
|
{
|
@ -6,7 +6,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.DatabaseLayer.Repository
|
namespace UserService.DatabaseLayer.Repositories
|
||||||
{
|
{
|
||||||
public interface IRepository<T> where T : Node
|
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>
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ using Microsoft.EntityFrameworkCore;
|
|||||||
using UserService.DatabaseLayer.DataModels;
|
using UserService.DatabaseLayer.DataModels;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.DatabaseLayer.Repository
|
namespace UserService.DatabaseLayer.Repositories
|
||||||
{
|
{
|
||||||
public class OrganizationUnitsRepository : BaseRepository<OrganizationUnit>, IOrganizationUnitsRepository
|
public class OrganizationUnitsRepository : BaseRepository<OrganizationUnit>, IOrganizationUnitsRepository
|
||||||
{
|
{
|
||||||
@ -21,7 +21,6 @@ namespace UserService.DatabaseLayer.Repository
|
|||||||
Expression<Func<OrganizationUnit, bool>>? predicate = null, CancellationToken token = default)
|
Expression<Func<OrganizationUnit, bool>>? predicate = null, CancellationToken token = default)
|
||||||
{
|
{
|
||||||
await using var db = new UserServiceDbContext();
|
await using var db = new UserServiceDbContext();
|
||||||
var result = new List<OrganizationUnit>();
|
|
||||||
var rootOus = await Context(db)
|
var rootOus = await Context(db)
|
||||||
.Include(x => x.Parent)
|
.Include(x => x.Parent)
|
||||||
.WhereOrDefault(predicate)
|
.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))
|
foreach (var ou in rootOus.Where(x => x.ParentId is null))
|
||||||
{
|
{
|
||||||
result.AddRange(Rec(ou));
|
result.AddRange(Rec(ou));
|
@ -1,6 +1,6 @@
|
|||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.DatabaseLayer.Repository
|
namespace UserService.DatabaseLayer.Repositories
|
||||||
{
|
{
|
||||||
public class SecurityGroupsRepository : BaseRepository<SecurityGroup>, ISecurityGroupsRepository
|
public class SecurityGroupsRepository : BaseRepository<SecurityGroup>, ISecurityGroupsRepository
|
||||||
{
|
{
|
@ -1,6 +1,6 @@
|
|||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.DatabaseLayer.Repository
|
namespace UserService.DatabaseLayer.Repositories
|
||||||
{
|
{
|
||||||
public class UsersRepository : BaseRepository<User>, IUsersRepository
|
public class UsersRepository : BaseRepository<User>, IUsersRepository
|
||||||
{
|
{
|
BIN
UserService.db
BIN
UserService.db
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using UserService.DatabaseLayer.Repository;
|
using UserService.DatabaseLayer.Repositories;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.Pages
|
namespace UserService.Pages
|
||||||
|
@ -6,7 +6,7 @@ using Blazorise;
|
|||||||
using Blazorise.DataGrid;
|
using Blazorise.DataGrid;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
using UserService.DatabaseLayer.Repository;
|
using UserService.DatabaseLayer.Repositories;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
|
|
||||||
namespace UserService.Pages
|
namespace UserService.Pages
|
||||||
@ -14,6 +14,9 @@ namespace UserService.Pages
|
|||||||
public class SecurityGroupsBase : MembersBase<SecurityGroup>
|
public class SecurityGroupsBase : MembersBase<SecurityGroup>
|
||||||
{
|
{
|
||||||
[Inject] private ISecurityGroupsRepository SecurityGroupsRepository { get; set; } = null!;
|
[Inject] private ISecurityGroupsRepository SecurityGroupsRepository { get; set; } = null!;
|
||||||
|
|
||||||
|
[Inject] private IUsersRepository UsersRepository { get; set; } = null!;
|
||||||
|
|
||||||
[Inject] private IOrganizationUnitsRepository OrganizationUnitsRepository { get; set; } = null!;
|
[Inject] private IOrganizationUnitsRepository OrganizationUnitsRepository { get; set; } = null!;
|
||||||
|
|
||||||
// reference to the modal component
|
// reference to the modal component
|
||||||
@ -64,13 +67,19 @@ namespace UserService.Pages
|
|||||||
protected async Task MySearchHandler(object arg)
|
protected async Task MySearchHandler(object arg)
|
||||||
{
|
{
|
||||||
var addedMember = arg as Member;
|
var addedMember = arg as Member;
|
||||||
|
if(addedMember is null) return;
|
||||||
var confirmed = await JsRuntime.InvokeAsync<bool>("confirm", addedMember?.CommonName ?? "Fuck")
|
var confirmed = await JsRuntime.InvokeAsync<bool>("confirm", addedMember?.CommonName ?? "Fuck")
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async Task OnSearchChanged(string arg)
|
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)
|
protected void OnButtonClicked(SecurityGroup securityGroup)
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
using Blazorise;
|
using Blazorise;
|
||||||
using Blazorise.DataGrid;
|
using Blazorise.DataGrid;
|
||||||
using Microsoft.JSInterop;
|
using Microsoft.JSInterop;
|
||||||
using UserService.DatabaseLayer.Repository;
|
using UserService.DatabaseLayer.Repositories;
|
||||||
using UserService.Infrastructure.DataModels;
|
using UserService.Infrastructure.DataModels;
|
||||||
using UserService.Infrastructure;
|
using UserService.Infrastructure;
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ using Microsoft.AspNetCore.Hosting;
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using UserService.DatabaseLayer.Repository;
|
using UserService.DatabaseLayer.Repositories;
|
||||||
|
|
||||||
namespace UserService
|
namespace UserService
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user