Ejemplo n.º 1
0
        public async Task <ActionResultResponse> Insert(string userId, string roleId)
        {
            var isExists = await _userRoleRepository.CheckExists(userId, roleId);

            if (isExists)
            {
                return(new ActionResultResponse(-1, _resourceService.GetString("Role already assigned for this user.")));
            }

            // Check user exists by id.
            var isUserExists = await _userAccountRepository.CheckExistsByUserId(userId);

            if (!isUserExists)
            {
                return(new ActionResultResponse(-2, _resourceService.GetString("User does not exists.")));
            }

            var roleInfo = await _roleRepository.FindByIdAsync(roleId, new CancellationToken());

            if (roleInfo == null)
            {
                return(new ActionResultResponse(-3, _resourceService.GetString("Role does not exists.")));
            }

            var result = await _userRoleRepository.Insert(userId, roleId);

            return(new ActionResultResponse(result, result <= 0 ? _sharedResourceService.GetString("Something went wrong. Please contact with administrator.")
                : _resourceService.GetString("Assign role successful.")));
        }