public async Task <List <OrganisationUserData> > HandleAsync(GetUserOrganisationsByStatus query) { var organisationUsers = new List <OrganisationUser>(); string userId = userContext.UserId.ToString(); if (query.OrganisationUserStatus.Length > 0) { organisationUsers = await context.OrganisationUsers.Where( ou => query.OrganisationUserStatus.Contains(ou.UserStatus.Value) && ou.UserId == userId) .ToListAsync(); } else { organisationUsers = await context.OrganisationUsers.Where( ou => ou.UserId == userId) .ToListAsync(); } if (query.OrganisationStatus != null && query.OrganisationStatus.Length > 0) { organisationUsers = organisationUsers.Where(ou => query.OrganisationStatus.Contains(ou.Organisation.OrganisationStatus.Value)).ToList(); } var organisationUserData = organisationUsers.Select(item => organisationUserMap.Map(item)).ToList(); return(organisationUserData); }
private async Task <int> FetchUserActiveCompleteOrganisationCountFromApi() { using (var client = apiClient()) { var request = new GetUserOrganisationsByStatus(new int[0]); var result = await client.SendAsync(accessToken, request); return(result .Where(o => o.UserStatus == UserStatus.Active) .Count(o => o.Organisation.OrganisationStatus == OrganisationStatus.Complete)); } }