From 00136a70783f93d7640b6f7e82a7c133e9b158b2 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Mon, 4 Aug 2025 00:21:54 +0330 Subject: [PATCH] ... --- .../Components/AttachedtoComponent.razor | 50 +++++++++++++++++++ Presentation/HushianWebApp/Pages/Chat.razor | 23 +++++++-- 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 Presentation/HushianWebApp/Components/AttachedtoComponent.razor diff --git a/Presentation/HushianWebApp/Components/AttachedtoComponent.razor b/Presentation/HushianWebApp/Components/AttachedtoComponent.razor new file mode 100644 index 0000000..d5eab1c --- /dev/null +++ b/Presentation/HushianWebApp/Components/AttachedtoComponent.razor @@ -0,0 +1,50 @@ +@using Common.Dtos.Exper +@using HushianWebApp.Service +@inject GroupService groupService; +@inject UserService userService; +@inject HushianWebApp.Services.ILocalStorageService localStorageService; +@inject ChatService chatService; +@inject ToastService toastService +@if (!Spinnervisible) +{ +
+
+ +
+
+} +@code { + private string? ExperName; + private bool Spinnervisible = false; + [Parameter] public int chatID { get; set; } + [Parameter] public EventCallback OnMultipleOfThree { get; set; } + public List CoExpers { get; set; } + = new(); + protected override async Task OnParametersSetAsync() + { + await base.OnParametersSetAsync(); + } +} + @functions { + private async Task> DataProvider(AutoCompleteDataProviderRequest request) + { + CoExpers = await userService.GetExpersCompany(); + 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(await chatService.Attachedto(exper.ID, chatID)) + { + await OnMultipleOfThree.InvokeAsync(); + } + else toastService.Notify(new ToastMessage(ToastType.Danger, "خطا در پیوست")); + Spinnervisible = false; + } + } diff --git a/Presentation/HushianWebApp/Pages/Chat.razor b/Presentation/HushianWebApp/Pages/Chat.razor index 5d33694..7feca37 100644 --- a/Presentation/HushianWebApp/Pages/Chat.razor +++ b/Presentation/HushianWebApp/Pages/Chat.razor @@ -3,6 +3,7 @@ @using Common.Dtos.Conversation @using Common.Dtos.Group @using Common.Enums +@using HushianWebApp.Components @using HushianWebApp.Service @inject ChatService chatService @inject GroupService groupService @@ -10,6 +11,7 @@ @inject IJSRuntime JS @inject ToastService toastService + گفتمان
@@ -158,8 +160,9 @@ اتمام گفتگو - } else if (ChatCurrent.status == Common.Enums.ConversationStatus.Finished @@ -283,7 +286,7 @@ string SelectedChatUserName = "مهدی ربیع نژاد"; private bool _shouldObserveVisibility = false; private ConfirmDialog dialog = default!; - + private Modal modal = default!; } @functions { protected override async Task OnInitializedAsync() @@ -369,6 +372,20 @@ // StateHasChanged(); await Task.CompletedTask; } + async Task onclickAttachedto() + { + Dictionary parameters = new Dictionary(); + parameters.Add("chatID",ChatCurrent.ID); + parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBackAttachedto)); + + await modal.ShowAsync("پیوست کارشناس", parameters: parameters); + + } + async Task CallBackAttachedto() + { + await modal.HideAsync(); + toastService.Notify(new ToastMessage(ToastType.Success, "کارشناس جدید به این گفتگو پیوست")); + } async Task OpenChat() { if (CurrentUser.Role == "Company" || CurrentUser.Role == "Exper" && ChatCurrent.ExperID==CurrentUser.ExperID)