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 > MyConversationIsFinished() { var response = await _baseController.Get($"{BaseRoute}MyConversationIsFinished"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync>(); return new() ; } public async Task> MyConversationIsInProgress() { var response = await _baseController.Get($"{BaseRoute}MyConversationIsInProgress"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync>(); return new(); } public async Task> ConversationAwaitingOurResponse() { var response = await _baseController.Get($"{BaseRoute}ConversationAwaitingOurResponse"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync>(); return new(); } public async Task MarkAsReadConversationItemAsync(int ID) { var response = await _baseController.Put($"{BaseRoute}MarkAsReadConversationItem/{ID}"); return response.IsSuccessStatusCode; } public async Task> GetConversationItems(int ConversationID) { var response = await _baseController.Get($"{BaseRoute}ConversationItems/{ConversationID}"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync>(); 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>(); // return new();*/ } public async Task ConversationIsFinish(int ConversationID) { var response = await _baseController.Put($"{BaseRoute}ConversationIsFinish/{ConversationID}"); return response.IsSuccessStatusCode; } public async Task ConversationIsStart(int ConversationID) { var response = await _baseController.Put($"{BaseRoute}ConversationIsStart/{ConversationID}"); return response.IsSuccessStatusCode; } public async Task GetCountQueueCompany(int CompanyID,int GroupID=0) { var response = await _baseController.Get($"{BaseRoute}CountQueueCompany/{CompanyID}?GroupID={GroupID}"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync(); return -1; } public async Task> MyConversationUserSide(int CompanyID) { var response = await _baseController.Get($"{BaseRoute}ConversationFromUserSide/{CompanyID}"); if (response.IsSuccessStatusCode) return await response.Content.ReadFromJsonAsync>(); return new(); } } }