This commit is contained in:
mmrbnjd
2025-07-11 20:37:28 +03:30
parent 1924c88e7a
commit ff342a53c0
156 changed files with 13746 additions and 35 deletions

View File

@@ -0,0 +1,93 @@
using Hushian.Application.Dtos;
using System.Net.Http.Json;
namespace HushianWebApp.Service
{
public class ConversationService
{
private readonly BaseController _baseController;
const string BaseRoute = "v1/Conversation/";
public ConversationService(BaseController baseController)
{
_baseController = baseController;
}
public async Task <List<ConversationDto>> MyConversationIsFinished()
{
var response = await _baseController.Get($"{BaseRoute}MyConversationIsFinished");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
return new() ;
}
public async Task<List<ConversationDto>> MyConversationIsInProgress()
{
var response = await _baseController.Get($"{BaseRoute}MyConversationIsInProgress");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
return new();
}
public async Task<List<ConversationDto>> ConversationAwaitingOurResponse()
{
var response = await _baseController.Get($"{BaseRoute}ConversationAwaitingOurResponse");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
return new();
}
public async Task<bool> MarkAsReadConversationItemAsync(int ID)
{
var response = await _baseController.Put($"{BaseRoute}MarkAsReadConversationItem/{ID}");
return response.IsSuccessStatusCode;
}
public async Task<List<ConversationItemDto>> GetConversationItems(int ConversationID)
{
var response = await _baseController.Get($"{BaseRoute}ConversationItems/{ConversationID}");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationItemDto>>();
return new();
}
public async Task ADDConversationItemFromCompanySide(int ConversationID,string text)
{
var response = await _baseController.Post($"{BaseRoute}ADDConversationItemFromCompanySide/{ConversationID}",new ADDConversationItemDto()
{
ConversationID = ConversationID,
text=text
});
/* if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationItemDto>>();
// return new();*/
}
public async Task<bool> ConversationIsFinish(int ConversationID)
{
var response = await _baseController.Put($"{BaseRoute}ConversationIsFinish/{ConversationID}");
return response.IsSuccessStatusCode;
}
public async Task<bool> ConversationIsStart(int ConversationID)
{
var response = await _baseController.Put($"{BaseRoute}ConversationIsStart/{ConversationID}");
return response.IsSuccessStatusCode;
}
public async Task<int> GetCountQueueCompany(int CompanyID,int GroupID=0)
{
var response = await _baseController.Get($"{BaseRoute}CountQueueCompany/{CompanyID}?GroupID={GroupID}");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<int>();
return -1;
}
public async Task<List<ConversationDto>> MyConversationUserSide(int CompanyID)
{
var response = await _baseController.Get($"{BaseRoute}ConversationFromUserSide/{CompanyID}");
if (response.IsSuccessStatusCode)
return await response.Content.ReadFromJsonAsync<List<ConversationDto>>();
return new();
}
}
}