예제 #1
0
        public async Task <Role> CheckPublicRole(IRoleDal roleDal, IRoleCategoryDal roleCategoryDal)
        {
            var publicRole = await roleDal.GetAsync(x => x.Name.ToLower() == "public");

            if (publicRole == null)
            {
                var checkRoleCategory = await roleCategoryDal.GetAsync(x => x.Name.ToLower() == "public");

                if (checkRoleCategory == null)
                {
                    checkRoleCategory = new RoleCategory
                    {
                        Name        = "Users",
                        Description = "Kullanıcı ile ilgili yetkiler"
                    };

                    await roleCategoryDal.Add(checkRoleCategory);
                }

                var role = new Role
                {
                    Name           = "Public",
                    RoleCategoryId = checkRoleCategory.Id,
                    Description    = "Public Kullanıcı Yetkileri.."
                };

                await roleDal.Add(role);
            }

            return(await roleDal.GetAsync(x => x.Name.ToLower() == "public"));
        }
예제 #2
0
        public async Task <RoleForListDto> AddRoleToUser(int userId, int roleId)
        {
            var userRole = await userRoleDal.GetAsync(x => x.UserId == userId && x.RoleId == roleId);

            if (userRole != null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { AlreadyExist = Messages.AlreadyExist });
            }
            var role = await roleDal.GetAsync(x => x.Id == roleId);

            if (role == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { RolesListNotFound = Messages.RoleListNotFound });
            }

            var user = await userDal.GetAsync(x => x.Id == userId);

            if (user == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { UserNotFound = Messages.UserNotFound });
            }

            var userrole = new UserRole
            {
                UserId = user.Id,
                RoleId = role.Id
            };

            await userRoleDal.Add(userrole);

            return(mapper.Map <Role, RoleForListDto>(role));
        }
예제 #3
0
        public async Task <RoleForListDto> Create(RoleForCreationAndUpdateDto roleForCreationAndUpdateDto)
        {
            var checkRoleNameFormRepo = await roleDal.GetAsync(x => x.Name.ToLower() == roleForCreationAndUpdateDto.Name.ToLower());

            if (checkRoleNameFormRepo != null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { RoleAlreadyExist = Messages.RoleNameAlreadyExist });
            }

            var roleForCreate = mapper.Map <Role>(roleForCreationAndUpdateDto);
            var createdRole   = await roleDal.Add(roleForCreate);

            var spec         = new RolesWithRoleCategorySpecification(createdRole.Id);
            var roleToReturn = await roleDal.GetEntityWithSpecAsync(spec);



            return(mapper.Map <Role, RoleForListDto>(roleToReturn));
        }