public virtual async Task AddToOrganizationUnitAsync(Guid userId, Guid ouId)
        {
            var currentOu = await UserOrganizationUnitRepository.FindAsync(t => t.UserId == userId && t.OrganizationUnitId == ouId);

            if (currentOu != null)
            {
                return;
            }
            var user = await UserRepository.GetAsync(userId);

            await UserOrganizationUnitRepository.InsertAsync(new IdentityUserOrganizationUnit(user.TenantId, userId, ouId));
        }
示例#2
0
        public async Task <PagedResultDto <OrganizationUnitUserListDto> > GetOrganizationUnitUsers(Guid id, PagedResultRequestDto input)
        {
            var items = from ouUser in await UserOrganizationUnitRepository.GetOuUserListAsync(id, input.MaxResultCount, input.SkipCount)
                        join user in await UserRepository.GetListAsync() on ouUser.UserId equals user.Id
                        select new
            {
                ouUser,
                user
            };
            var totalCount = await UserOrganizationUnitRepository.GetOuUserCountAsync(id);

            return(new PagedResultDto <OrganizationUnitUserListDto>(
                       totalCount,
                       items.Select(item =>
            {
                var organizationUnitRoleDto = ObjectMapper.Map <IdentityUser, OrganizationUnitUserListDto>(item.user);
                organizationUnitRoleDto.AddedTime = item.ouUser.CreationTime;
                return organizationUnitRoleDto;
            }).ToList()));
        }
 public virtual async Task RemoveFromOrganizationUnitAsync(Guid userId, Guid ouId)
 {
     await UserOrganizationUnitRepository.DeleteAsync(uou => uou.UserId == userId && uou.OrganizationUnitId == ouId);
 }