This commit is contained in:
mmrbnjd
2025-07-12 21:33:44 +03:30
parent d397f70b9a
commit 8a6ff3da67
32 changed files with 320 additions and 403 deletions

View File

@@ -1,4 +1,4 @@
@using Hushian.Application.Dtos
@using Common.Dtos.Exper
@using HushianWebApp.Service
@inject GroupService groupService;
@inject UserService userService;
@@ -7,14 +7,14 @@
<div class="row">
<div class="col-md-12 col-sm-12" style="margin-bottom:15px">
<AutoComplete @bind-Value="ExperName"
TItem="HushianUserDto"
TItem="Read_ExperDto"
DataProvider="DataProvider"
PropertyName="FullName"
Placeholder="جستجو در کاربران..."
OnChanged="(HushianUserDto exper) => OnAutoCompleteChanged(exper)" />
OnChanged="(Read_ExperDto exper) => OnAutoCompleteChanged(exper)" />
</div>
</div>
<SortableList TItem="HushianUserDto"
<SortableList TItem="Read_ExperDto"
Data="Expers"
Context="item"
AllowSorting="false">
@@ -37,9 +37,9 @@
private bool Spinnervisible = false;
[Parameter] public int GroupID { get; set; }
public List<HushianUserDto> Expers { get; set; }
public List<Read_ExperDto> Expers { get; set; }
= new();
public List<HushianUserDto> CoExpers { get; set; }
public List<Read_ExperDto> CoExpers { get; set; }
= new();
protected override async Task OnParametersSetAsync()
{
@@ -50,25 +50,25 @@
}
}
@functions {
private async Task<AutoCompleteDataProviderResult<HushianUserDto>> DataProvider(AutoCompleteDataProviderRequest<HushianUserDto> request)
private async Task<AutoCompleteDataProviderResult<Read_ExperDto>> DataProvider(AutoCompleteDataProviderRequest<Read_ExperDto> request)
{
CoExpers = (await userService.GetExpersCompany(0, 0, 0)).list;
return await Task.FromResult(new AutoCompleteDataProviderResult<HushianUserDto> { Data = CoExpers.Where(w => w.FullName.Contains(request.Filter.Value)), TotalCount = CoExpers.Count() });
CoExpers = await userService.GetExpersCompany(0, 0, 0);
return await Task.FromResult(new AutoCompleteDataProviderResult<Read_ExperDto> { Data = CoExpers.Where(w => w.FullName.Contains(request.Filter.Value)), TotalCount = CoExpers.Count() });
}
private async Task OnAutoCompleteChanged(HushianUserDto exper)
private async Task OnAutoCompleteChanged(Read_ExperDto exper)
{
Spinnervisible = true;
if (exper != null
&& !Expers.Any(a => a.UserID == exper.UserID)
&& await groupService.JoinExperToGroup(GroupID, exper.UserID) )
&& !Expers.Any(a => a.ID == exper.ID)
&& await groupService.JoinExperToGroup(GroupID, exper.ID) )
Expers.Add(exper);
Spinnervisible = false;
}
async Task UnJoin(HushianUserDto exper)
async Task UnJoin(Read_ExperDto exper)
{
Spinnervisible = true;
if (exper != null && await groupService.UnJoinExperToGroup(GroupID, exper.UserID))
if (exper != null && await groupService.UnJoinExperToGroup(GroupID, exper.ID))
Expers.Remove(exper);
Spinnervisible = false;
}