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.Infrastructure.DataModels;
|
||||
|
||||
namespace UserService.DatabaseLayer.Repository
|
||||
namespace UserService.DatabaseLayer.Repositories
|
||||
{
|
||||
public class BaseRepository<T> where T : Node
|
||||
{
|
@ -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>
|
||||
{
|
||||
|
||||
}
|
@ -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));
|
@ -1,6 +1,6 @@
|
||||
using UserService.Infrastructure.DataModels;
|
||||
|
||||
namespace UserService.DatabaseLayer.Repository
|
||||
namespace UserService.DatabaseLayer.Repositories
|
||||
{
|
||||
public class SecurityGroupsRepository : BaseRepository<SecurityGroup>, ISecurityGroupsRepository
|
||||
{
|
@ -1,6 +1,6 @@
|
||||
using UserService.Infrastructure.DataModels;
|
||||
|
||||
namespace UserService.DatabaseLayer.Repository
|
||||
namespace UserService.DatabaseLayer.Repositories
|
||||
{
|
||||
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.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using UserService.DatabaseLayer.Repository;
|
||||
using UserService.DatabaseLayer.Repositories;
|
||||
using UserService.Infrastructure.DataModels;
|
||||
|
||||
namespace UserService.Pages
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user