public async Task <SendEmailRespObj> SendSpecificMessageAsync(EmailMessageObj email) { var response = new SendEmailRespObj { Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage() } }; try { var gosGatewayClient = _httpClientFactory.CreateClient("GOSDEFAULTGATEWAY"); var jsonContent = JsonConvert.SerializeObject(email); var buffer = Encoding.UTF8.GetBytes(jsonContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await gosGatewayClient.PostAsync(ApiRoutes.IdentitySeverRequests.SEND_EMAIL_TO_SPECIFIC_OFFICERS, byteContent); var resultString = await result.Content.ReadAsStringAsync(); response = JsonConvert.DeserializeObject <SendEmailRespObj>(resultString); return(response); } catch (Exception ex) { #region Log error var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); throw ex; #endregion } }
public async Task <List <StaffObj> > GetAllStaffAsync() { try { var gosGatewayClient = _httpClientFactory.CreateClient("GOSDEFAULTGATEWAY"); var response = new StaffRespObj { Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage() } }; var result = await gosGatewayClient.GetAsync(ApiRoutes.IdentitySeverWorkflow.GET_ALL_STAFF); var resultString = await result.Content.ReadAsStringAsync(); response = JsonConvert.DeserializeObject <StaffRespObj>(resultString); if (!result.IsSuccessStatusCode) { response.Status.IsSuccessful = false; response.Status.Message.FriendlyMessage = $"{result.ReasonPhrase} {(int)result.StatusCode} {result.Content}"; throw new Exception($"{response}"); } if (!response.Status.IsSuccessful) { return(new List <StaffObj>()); } return(response.staff); } catch (Exception ex) { #region Log error var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new List <StaffObj>()); #endregion } }
public async Task <UserRoleRespObj> GetUserRolesAsync() { try { var gosGatewayClient = _httpClientFactory.CreateClient("GOSDEFAULTGATEWAY"); string authorization = _accessor.HttpContext.Request.Headers["Authorization"]; gosGatewayClient.DefaultRequestHeaders.Add("Authorization", authorization); var response = new UserRoleRespObj { Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage() } }; var result = await gosGatewayClient.GetAsync(ApiRoutes.IdentitySeverRequests.GET_THIS_ROLES); var resultString = await result.Content.ReadAsStringAsync(); response = JsonConvert.DeserializeObject <UserRoleRespObj>(resultString); if (!result.IsSuccessStatusCode) { response.Status.IsSuccessful = false; response.Status.Message.FriendlyMessage = $"{result.ReasonPhrase} {(int)result.StatusCode} {result.Content}"; throw new Exception($"{response}"); } return(response); } catch (Exception ex) { #region Log error var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); throw ex; #endregion } }