@using Hushian.Application.Dtos @using HushianWebApp.Service @inject GroupService groupService; @inject UserService userService; @if (!Spinnervisible) {
@item.FullName }
@code { private string? ExperName; private bool Spinnervisible = false; [Parameter] public int GroupID { get; set; } public List Expers { get; set; } = new(); public List CoExpers { get; set; } = new(); protected override async Task OnParametersSetAsync() { Spinnervisible = true; Expers = await groupService.GetExpersFromGroupID(GroupID); Spinnervisible = false; await base.OnParametersSetAsync(); } } @functions { private async Task> DataProvider(AutoCompleteDataProviderRequest request) { CoExpers = (await userService.GetExpersCompany(0, 0, 0)).list; return await Task.FromResult(new AutoCompleteDataProviderResult { Data = CoExpers.Where(w => w.FullName.Contains(request.Filter.Value)), TotalCount = CoExpers.Count() }); } private async Task OnAutoCompleteChanged(HushianUserDto exper) { Spinnervisible = true; if (exper != null && !Expers.Any(a => a.UserID == exper.UserID) && await groupService.JoinExperToGroup(GroupID, exper.UserID) ) Expers.Add(exper); Spinnervisible = false; } async Task UnJoin(HushianUserDto exper) { Spinnervisible = true; if (exper != null && await groupService.UnJoinExperToGroup(GroupID, exper.UserID)) Expers.Remove(exper); Spinnervisible = false; } }