63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
using Common.Dtos.Conversation;
|
|
using Common.Enums;
|
|
using System.Net.Http.Json;
|
|
|
|
namespace HushianWebApp.Service
|
|
{
|
|
public class ChatService
|
|
{
|
|
private readonly BaseController _baseController;
|
|
const string BaseRoute = "v1/Chat/";
|
|
|
|
//Inbox1
|
|
public async Task<List<ChatItemDto>> ChatAwaitingOurResponse()
|
|
{
|
|
var response = await _baseController.Get($"{BaseRoute}ChatsAwaitingOurResponse");
|
|
if (response.IsSuccessStatusCode)
|
|
return await response.Content.ReadFromJsonAsync<List<ChatItemDto>>();
|
|
|
|
return new();
|
|
}
|
|
//Inbox2
|
|
public async Task<List<ChatItemDto>> MyChatsIsInProgress()
|
|
{
|
|
var response = await _baseController.Post($"{BaseRoute}MyChats", ConversationStatus.InProgress);
|
|
if (response.IsSuccessStatusCode)
|
|
return await response.Content.ReadFromJsonAsync<List<ChatItemDto>>();
|
|
|
|
return new();
|
|
}
|
|
//Inbox3
|
|
public async Task<List<ChatItemDto>> MyChatsIsFinished()
|
|
{
|
|
var response = await _baseController.Post($"{BaseRoute}MyChats", ConversationStatus.Finished);
|
|
if (response.IsSuccessStatusCode)
|
|
return await response.Content.ReadFromJsonAsync<List<ChatItemDto>>();
|
|
|
|
return new();
|
|
}
|
|
public async Task<ChatItemDto> NewChatFromCurrentUser(ADD_ConversationDto conversation)
|
|
{
|
|
var response = await _baseController.Post($"{BaseRoute}NewChatFromCurrentUser", conversation);
|
|
if (response.IsSuccessStatusCode)
|
|
return await response.Content.ReadFromJsonAsync<ChatItemDto>();
|
|
|
|
return null;
|
|
}
|
|
public async Task<ChatItemResponseDto?> ADDChatResponse(int ConversationID, string text, ConversationType type)
|
|
{
|
|
var response = await _baseController.Post($"{BaseRoute}ADDChatResponse", new ADD_ConversationResponseDto()
|
|
{
|
|
ConversationID = ConversationID,
|
|
Text = text,
|
|
Type = type
|
|
});
|
|
if (response.IsSuccessStatusCode)
|
|
return await response.Content.ReadFromJsonAsync<ChatItemResponseDto>();
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
}
|