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();
+ }
+ }
+}
+
+