public async Task <Result <GroupedStatisticsViewModel> > GetIndexViewModel(string groupId) { IBaseSpecification <GroupUserEntity, GroupUserEntity> getAllUsersSpecification = SpecificationBuilder .Create <GroupUserEntity>() .Build(); int allUsers = await _groupUserStore.Count(getAllUsersSpecification); IBaseSpecification <GroupUserEntity, GroupUserEntity> getActiveUsersSpecification = SpecificationBuilder .Create <GroupUserEntity>() .Where(x => x.User.Sessions.Any()) .Build(); int activeUsers = await _groupUserStore.Count(getActiveUsersSpecification); IBaseSpecification <GroupUserEntity, GroupUserEntity> getUnconfirmedUsersSpecification = SpecificationBuilder .Create <GroupUserEntity>() .Where(x => !x.User.EmailConfirmed) .Build(); int unconfirmedUsers = await _groupUserStore.Count(getUnconfirmedUsersSpecification); IBaseSpecification <GroupUserEntity, GroupUserEntity> getDisabledUsersSpecification = SpecificationBuilder .Create <GroupUserEntity>() .Where(x => !x.User.Enabled) .Build(); int disabledUsers = await _groupUserStore.Count(getDisabledUsersSpecification); GroupedStatisticsViewModel viewModel = new GroupedStatisticsViewModel( groupId: groupId, usersCount: allUsers, activeUsersCount: activeUsers, unconfirmedUsersCount: unconfirmedUsers, disabledUsersCount: disabledUsers); return(Result.Ok(viewModel)); }