94 lines
3.8 KiB
C#
94 lines
3.8 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|