public async Task <List <ContactIncludePrivilegesResponse> > Handle(GetAllContactsIncludePrivilegesRequest request, CancellationToken cancellationToken) { var response = new List <ContactIncludePrivilegesResponse>(); var results = await _contactQueryRepository.GetAllContactsIncludePrivileges(request.EndPointAssessorOrganisationId, request.WithUser); if (results == null) { return(response); } foreach (var result in results) { var contactsWithPrivilegesResponse = new ContactIncludePrivilegesResponse { Contact = Mapper.Map <ContactResponse>(result) }; contactsWithPrivilegesResponse.Contact.Status = result.Status == ContactStatus.Live ? ContactStatus.Active : result.Status; foreach (var role in result.ContactsPrivileges) { contactsWithPrivilegesResponse.Privileges.Add(new PrivilegeResponse { UserPrivilege = role.Privilege?.UserPrivilege, Key = role.Privilege?.Key }); } response.Add(contactsWithPrivilegesResponse); } return(response); }
public async Task <IActionResult> GetAllContactsForOrganisationIncludePrivileges([FromBody] GetAllContactsIncludePrivilegesRequest request) { _logger.LogInformation( $"Received Search for Contacts and their Privileges using epaoId = {request.EndPointAssessorOrganisationId}"); ValidateEndPointAssessorOrganisation(request.EndPointAssessorOrganisationId); return(Ok(await _mediator.Send(request))); }