Example #1
0
        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)));
        }