示例#1
0
        public async Task <ModuleEditDto> GetModule(string moduleCode)
        {
            var rs =
                await
                _repository.GetAll()
                .Include(x => x.ActionModules)
                .FirstOrDefaultAsync(x => x.ModuleCode == moduleCode);

            return(rs.MapTo <ModuleEditDto>());
        }
示例#2
0
        public async Task <PagedResultOutput <RoleEditDto> > GetRoles(GetRolesInput input)
        {
            var query = _repository.GetAll();
            var count = await query.CountAsync();

            var users = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

            var dtos = users.MapTo <List <RoleEditDto> >();

            return(new PagedResultOutput <RoleEditDto>(count, dtos));
        }
示例#3
0
        public async Task <List <PermissionDto> > GetPermission(NullableIdInput <Guid> userId, string moduleCode,
                                                                string actionCode)
        {
            var modules        = _moduleRepository.GetAll();
            var actions        = _actionRepository.GetAll();
            var roleRightQuery = _roleRightRepository.GetAll();
            var userRoles      = _userRoleRepository.GetAll();

            var userRole_JoinRole_Right_Query = userRoles.WhereIf(userId.Id != null, x => x.UserId == userId.Id)
                                                .Join(roleRightQuery, x => x.RoleId, y => y.RoleId, (x, y) => new
            {
                y.RoleId,
                x.Role.RoleCode,
                y.Status,
                y.ActionModule.ModuleId,
                y.ActionModule.ActionId,
                ActionModuleStatus = y.ActionModule.Status
            }).Where(x => x.ActionModuleStatus);

            var userRole_JoinRole_Right_Query_Join_Module_Query = userRole_JoinRole_Right_Query.Join(modules,
                                                                                                     x => x.ModuleId, y => y.Id, (x, y) => new
            {
                x.RoleId,
                x.RoleCode,
                ModuleId = y.Id,
                y.ModuleCode,
                y.DisplayName,
                x.ActionId,
                x.Status
            }).WhereIf(!moduleCode.IsNullOrWhiteSpace(), x => x.ModuleCode == moduleCode);

            var query = userRole_JoinRole_Right_Query_Join_Module_Query.Join(actions, x => x.ActionId, y => y.Id,
                                                                             (x, y) => new PermissionDto
            {
                ActionId    = x.ActionId,
                ActionCode  = y.ActionCode,
                ModuleId    = x.ModuleId,
                ModuleCode  = x.ModuleCode,
                DisplayName = x.DisplayName,
                RoleId      = x.RoleId,
                RoleCode    = x.RoleCode,
                Status      = x.Status
            }).WhereIf(!actionCode.IsNullOrWhiteSpace(), x => x.ActionCode == actionCode);

            var rs = await query.ToListAsync();

            return(rs);
        }
示例#4
0
        public async Task <PagedResultOutput <UserEditDto> > GetUsers(GetUsersInput input)
        {
            var query = _repository.GetAll().WhereIf(!input.Filter.IsNullOrWhiteSpace(),
                                                     u => u.FirstName.Contains(input.Filter) ||
                                                     u.LastName.Contains(input.Filter) ||
                                                     u.UserName.Contains(input.Filter) ||
                                                     u.Email.Contains(input.Filter)
                                                     );


            var count = await query.CountAsync();

            var users = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

            var userListDtos = users.MapTo <List <UserEditDto> >();

            return(new PagedResultOutput <UserEditDto>(count, userListDtos));
        }
 public virtual List <TEntity> GetAll()
 {
     _entityRepository.Includes = Includes();
     return(_entityRepository.GetAll());
 }
        //public override Expression<Func<RevenueUnit, object>>[] Includes()
        //{
        //    return new Expression<Func<RevenueUnit, object>>[]
        //        {
        //            x => x.Cluster,
        //            x=>x.City
        //        };
        //}

        #region RoleFunctions
        public List <Role> GetRoles()
        {
            return(roleService.GetAll());
        }
示例#7
0
 public IEnumerable <Site> GetSites()
 {
     return(_cmsRepository.GetAll <Site>().ToList());
 }