Exemple #1
0
        private IResult CheckIfUserExists(int userId)
        {
            var result = _userDal.Any(x => x.UserId == userId);

            if (!result)
            {
                return(new ErrorResult());
            }
            return(new SuccessResult());
        }
Exemple #2
0
        private IResult CheckUserEmailExist(string emailNormalizedName)
        {
            var result = _userDal.Any(b => b.NormalizedEmail == emailNormalizedName);

            if (result)
            {
                return(new ErrorResult(Messages.NameAlreadyRegistered));
            }

            return(new SuccessResult());
        }
Exemple #3
0
        /// <summary>
        /// Saves the user in the database
        /// </summary>
        /// <param name="user">The form data the user send</param>
        public async Task Register(User user)
        {
            if (!await UserModelValid(user) || user.Password.Length < 8)
            {
                throw new UnprocessableException();
            }

            bool usernameOrEmailInUse = await _userDal.Exists(user.Username, user.Email);

            if (usernameOrEmailInUse)
            {
                throw new DuplicateNameException();
            }

            bool databaseContainsUsers = await _userDal.Any();

            var userDto = _mapper.Map <UserDto>(user);

            userDto.AccountRole = databaseContainsUsers ? AccountRole.User : AccountRole.SiteAdmin;
            userDto.Uuid        = Guid.NewGuid();

            var disabledUserDto = new DisabledUserDto
            {
                Reason   = DisableReason.EmailVerificationRequired,
                UserUuid = userDto.Uuid,
                Uuid     = Guid.NewGuid()
            };

            var activationDto = new ActivationDto
            {
                Code     = Guid.NewGuid().ToString(),
                UserUuid = userDto.Uuid,
                Uuid     = Guid.NewGuid()
            };

            await _disabledUserDal.Add(disabledUserDto);

            await _activationDal.Add(activationDto);

            var userRabbitMq = _mapper.Map <UserRabbitMqSensitiveInformation>(user);

            userRabbitMq.Uuid        = userDto.Uuid;
            userRabbitMq.AccountRole = databaseContainsUsers ? AccountRole.User : AccountRole.SiteAdmin;

            _publisher.Publish(userRabbitMq, RabbitMqRouting.AddUser, RabbitMqExchange.AuthenticationExchange);

            await _userDal.Add(userDto);

            SendActivationEmail(userDto, activationDto);
        }
Exemple #4
0
        public IResult Add(User user)
        {
            var result = _userDal.Any(u => u.Email == user.Email);

            if (!result)
            {
                _userDal.Add(user);
                return(new SuccessResult(Messages.User.Add()));
            }
            return(new ErrorResult(Messages.User.Exists(user.Email)));
        }
 public bool IsAlreadyExistsEmail(string email)
 {
     return(userDal.Any(u => u.Email == email));
 }