@using Common.Dtos.Exper
@using HushianWebApp.Service
@inject GroupService groupService;
@inject UserService userService;
@if (!Spinnervisible)
{
@item.FullName
{await UnJoin(item);}">
}
@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);
return await Task.FromResult(new AutoCompleteDataProviderResult { Data = CoExpers.Where(w => w.FullName.Contains(request.Filter.Value)), TotalCount = CoExpers.Count() });
}
private async Task OnAutoCompleteChanged(Read_ExperDto exper)
{
Spinnervisible = true;
if (exper != null
&& !Expers.Any(a => a.ID == exper.ID)
&& await groupService.JoinExperToGroup(GroupID, exper.ID) )
Expers.Add(exper);
Spinnervisible = false;
}
async Task UnJoin(Read_ExperDto exper)
{
Spinnervisible = true;
if (exper != null && await groupService.UnJoinExperToGroup(GroupID, exper.ID))
Expers.Remove(exper);
Spinnervisible = false;
}
}