Bring the autocomplete bo to live

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

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
{