From bd1f9076735b029b9d14a076ceffa6d42f4e02ca Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Sat, 16 Aug 2025 01:46:25 +0330 Subject: [PATCH] prompt --- .../Components/PromptManagerComponent.razor | 97 +++++++++++++++++++ .../HushianWebApp/Pages/Manage/Settings.razor | 14 ++- Presentation/HushianWebApp/Program.cs | 1 + .../HushianWebApp/Service/PromptService.cs | 56 +++++++++++ 4 files changed, 163 insertions(+), 5 deletions(-) create mode 100644 Presentation/HushianWebApp/Components/PromptManagerComponent.razor create mode 100644 Presentation/HushianWebApp/Service/PromptService.cs diff --git a/Presentation/HushianWebApp/Components/PromptManagerComponent.razor b/Presentation/HushianWebApp/Components/PromptManagerComponent.razor new file mode 100644 index 0000000..09005af --- /dev/null +++ b/Presentation/HushianWebApp/Components/PromptManagerComponent.razor @@ -0,0 +1,97 @@ +@page "/prompt" +@using Common.Dtos.Prompt +@using HushianWebApp.Service +@inject PromptService promptService + +
+
+ +
+
+ +
+ +
+ @if (loading) + { +

در حال بارگذاری...

+ } + else if (prompts == null || prompts.Count == 0) + { +

موردی یافت نشد

+ } + else + { + + + + + + + + + @foreach (var p in prompts) + { + + + + + } + +
متنعملیات
+ + + + +
+ } +
+
+ +@code { + private List prompts = new(); + private ADD_PromptDto newPrompt = new(); + private bool loading = false; +} +@functions { + protected override async Task OnInitializedAsync() + { + await LoadPrompts(); + } + private async Task LoadPrompts() + { + loading = true; + prompts = await promptService.GetPrompts(); + loading = false; + } + private async Task AddPrompt() + { + if (!string.IsNullOrWhiteSpace(newPrompt.Test)) + { + if (await promptService.AddPrompt(newPrompt)) + { + newPrompt = new(); + await LoadPrompts(); + } + } + } + private async Task UpdatePrompt(ReadANDUpdate_PromptDto model) + { + if (!string.IsNullOrWhiteSpace(model.Test)) + { + if (await promptService.UpdatePrompt(model)) + { + await LoadPrompts(); + } + } + } + private async Task DeletePrompt(int id) + { + if (await promptService.DeletePrompt(id)) + { + await LoadPrompts(); + } + } +} + + diff --git a/Presentation/HushianWebApp/Pages/Manage/Settings.razor b/Presentation/HushianWebApp/Pages/Manage/Settings.razor index ecf288f..8641fc6 100644 --- a/Presentation/HushianWebApp/Pages/Manage/Settings.razor +++ b/Presentation/HushianWebApp/Pages/Manage/Settings.razor @@ -110,16 +110,20 @@ - - +*@ + @if (ALLOWcompanyinfo) + { +
- بخش پایین راست + درباره مجموعه:
- +
-
*@ + + } + diff --git a/Presentation/HushianWebApp/Program.cs b/Presentation/HushianWebApp/Program.cs index e879d13..4496975 100644 --- a/Presentation/HushianWebApp/Program.cs +++ b/Presentation/HushianWebApp/Program.cs @@ -16,6 +16,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddBlazorBootstrap(); diff --git a/Presentation/HushianWebApp/Service/PromptService.cs b/Presentation/HushianWebApp/Service/PromptService.cs new file mode 100644 index 0000000..93b6383 --- /dev/null +++ b/Presentation/HushianWebApp/Service/PromptService.cs @@ -0,0 +1,56 @@ +using Common.Dtos.Prompt; +using System.Net.Http.Json; + +namespace HushianWebApp.Service +{ + public class PromptService + { + private readonly BaseController _baseController; + const string BaseRoute = "v1/Prompt/"; + + public PromptService(BaseController baseController) + { + _baseController = baseController; + } + + public async Task AddPrompt(ADD_PromptDto model) + { + var response = await _baseController.Post($"{BaseRoute}AddPrompt", model); + return response.IsSuccessStatusCode; + } + + public async Task UpdatePrompt(ReadANDUpdate_PromptDto model) + { + var response = await _baseController.Put($"{BaseRoute}UpdatePrompt", model); + return response.IsSuccessStatusCode; + } + + public async Task DeletePrompt(int id) + { + var response = await _baseController.Delete($"{BaseRoute}DeletePrompt/{id}"); + return response.IsSuccessStatusCode; + } + + public async Task GetPrompt(int id) + { + var response = await _baseController.Get($"{BaseRoute}GetPrompt/{id}"); + if (response.IsSuccessStatusCode) + { + return await response.Content.ReadFromJsonAsync(); + } + return null; + } + + public async Task> GetPrompts() + { + var response = await _baseController.Get($"{BaseRoute}GetPrompts"); + if (response.IsSuccessStatusCode) + { + return await response.Content.ReadFromJsonAsync>() ?? new(); + } + return new(); + } + } +} + +