public UserOutputDto UpdateUser(string Domain, ProofPointUserModal updateUser) { UserOutputDto output = new UserOutputDto { IsSuccessful = false }; string resource = ProofPointEndpoints.UpdateUserEndpoint(Domain, updateUser.primary_email); try { _log.Info($"INITIATING UpdateUser: {resource} | {updateUser.primary_email}"); if (Domain.IsNullOrEmpty()) { throw new Exception("Domain was not provided"); } if (updateUser.primary_email.IsNullOrEmpty()) { throw new Exception("UserEmail was not provided"); } var request = new RestRequest(resource, Method.PUT).AddAuthenticationHeaders(); request.AddJsonBody(updateUser); IRestResponse <UserOutputDto> response = _client.Execute <UserOutputDto>(request); if (response.Data == null) { response.Data = new UserOutputDto(); } response.Data.IsSuccessful = response.IsSuccessful; _log.Info($"RESPONSE UpdateUser: {response.IsSuccessful}"); if (!response.IsSuccessful) { _log.Error($"ERROR UpdateUser: {JsonConvert.SerializeObject(response.Data?.errors)}"); } output = response.Data; } catch (Exception ex) { _log.Fatal("EXCEPTION UpdateUser: "******"ENDED UpdateUser: {resource}"); } return(output); }
public UserOutputDto GetUser(string Domain, string UserEmail) { UserOutputDto output = new UserOutputDto { IsSuccessful = false }; string resource = ProofPointEndpoints.GetUserEndpoint(Domain, UserEmail); try { _log.Info($"INITIATING GetUser: {resource}"); if (Domain.IsNullOrEmpty()) { throw new Exception("Domain was not provided"); } if (UserEmail.IsNullOrEmpty()) { throw new Exception("UserEmail was not provided"); } var request = new RestRequest(resource, Method.GET).AddAuthenticationHeaders(); var response = _client.Execute <UserOutputDto>(request); if (response.Data == null) { response.Data = new UserOutputDto(); } response.Data.IsSuccessful = response.IsSuccessful; _log.Info($"RESPONSE GetUser: {response.IsSuccessful}"); if (!response.IsSuccessful) { _log.Error($"ERROR GetUser: {JsonConvert.SerializeObject(response.Data?.errors)}"); } output = response.Data; } catch (Exception ex) { _log.Fatal("EXCEPTION GetUser", ex); } finally { _log.Info($"ENDED GetUser: {resource}"); } return(output); }
public UserListOutputDto CreateUser(string Domain, List <ProofPointUserModal> createUser) { UserListOutputDto output = new UserListOutputDto { IsSuccessful = false }; string resource = ProofPointEndpoints.CreateUserEndpoint(Domain); try { _log.Info($"INITIATING CreateUser: {resource} | {string.Join(",", createUser.Select(x => x.primary_email))}"); if (Domain.IsNullOrEmpty()) { throw new Exception("Domain was not provided"); } if (createUser.Any(x => x.primary_email.IsNullOrEmpty())) { throw new Exception("UserEmail was not provided"); } var request = new RestRequest(resource, Method.POST).AddAuthenticationHeaders(); request.AddJsonBody(createUser); IRestResponse <UserListOutputDto> response = _client.Execute <UserListOutputDto>(request); response.Data.IsSuccessful = response.IsSuccessful; _log.Info($"RESPONSE CreateUser: {response.IsSuccessful}"); if (response.Data.errors != null && response.Data.errors.Any()) { _log.Error($"ERROR CreateUser: {JsonConvert.SerializeObject(response.Data?.errors)}"); } output = response.Data; } catch (Exception ex) { _log.Fatal("EXCEPTION CreateUser: "******"ENDED CreateUser: {resource}"); } return(output); }