using Common.Dtos.Exper; using Common.Dtos.Group; using System.Net.Http.Json; namespace HushianWebApp.Service { public class GroupService { private readonly BaseController _baseController; const string BaseRoute = "v1/Group/"; public GroupService(BaseController baseController) { _baseController = baseController; } public async Task AddGroup(ADD_GroupDto Group) { var response = await _baseController.Post($"{BaseRoute}AddGroup",Group); return response.IsSuccessStatusCode; } public async Task UpdateGroup(Update_GroupDto Group) { var response = await _baseController.Put($"{BaseRoute}UpdateGroup", Group); return response.IsSuccessStatusCode; } public async Task JoinExperToGroup(int GroupID, int ExperID) { var response = await _baseController.Put($"{BaseRoute}JoinExperToGroup/{GroupID}/{ExperID}"); return response.IsSuccessStatusCode; } public async Task UnJoinExperToGroup(int GroupID, int ExperID) { var response = await _baseController.Put($"{BaseRoute}UnJoinExperToGroup/{GroupID}/{ExperID}"); return response.IsSuccessStatusCode; } public async Task DeleteGroupFromManager(int GroupID) { var response = await _baseController.Delete ($"{BaseRoute}DeleteGroup/{GroupID}"); return response.IsSuccessStatusCode; } public async Task?> GetGroups() { var response = await _baseController.Get($"{BaseRoute}GetGroups"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } public async Task?> GetGroupsCompany() { var response = await _baseController.Get($"{BaseRoute}GetGroupsCompany"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } public async Task?> GetGroupsCompany(int CompanyID) { var response = await _baseController.Get($"{BaseRoute}GetGroupsCompany?CompanyID={CompanyID}"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return null; } public async Task?> GetGroupsFromExperID(int ExperID) { var response = await _baseController.Get($"{BaseRoute}GetGroupsFromExperID?ExperID={ExperID}"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return new(); } public async Task> GetExpersFromGroupID(int GroupID) { var response = await _baseController.Get($"{BaseRoute}GetExpersFromGroupID/{GroupID}"); if (response.IsSuccessStatusCode) { return await response.Content.ReadFromJsonAsync>(); } return new(); } public async Task ChangeAvailableGroupFromManager(int GroupID, bool Available) { var response = await _baseController.Put($"{BaseRoute}ChangeAvailableGroupFromManager/{GroupID}?Available={Available}"); return response.IsSuccessStatusCode; } //public async Task?> GetOnlineExpersFromGroupID(int GroupID) //{ // var response = await _baseController.Get($"{BaseRoute}GetOnlineExpersFromGroupID/{GroupID}"); // if (response.IsSuccessStatusCode) // { // return await response.Content.ReadFromJsonAsync>(); // } // return null; //} } }