Esempio n. 1
0
        public async Task <RegisterUserDto.RegisterUserResult> RegisterUser(RegisterUserDto registerUserDto)
        {
            var isUserExist = _userRepository.IsUserExist(registerUserDto.UserName.Trim().ToLowerInvariant());

            if (isUserExist)
            {
                return(RegisterUserDto.RegisterUserResult.UserExist);
            }
            var user = new User
            {
                Email           = registerUserDto.Email.SanitizeText(),
                FirstName       = registerUserDto.FirstName.SanitizeText(),
                LastName        = registerUserDto.LastName.SanitizeText(),
                EmailActiveCode = Guid.NewGuid().ToString(),
                UserName        = registerUserDto.UserName.SanitizeText(),
                Password        = _passwordHelper.EncodePasswordMd5(registerUserDto.Password)
            };
            await _userRepository.AddEntity(user);

            await _userRepository.SaveChanges();

            var userDto = new RegisterUserDto()
            {
                Email           = user.Email,
                FirstName       = user.FirstName,
                LastName        = user.LastName,
                UserName        = user.UserName,
                EmailActiveCode = user.EmailActiveCode,
                Password        = _passwordHelper.EncodePasswordMd5(registerUserDto.Password)
            };
            var body = await _renderView.RenderToStringAsync("Email/ActivateAccount", userDto);

            _mailSender.Send(userDto.Email.ToLower().Trim(), "سیستم مدیریت فروش ارز-فعالسازی حساب کاربری جدید", body);
            return(RegisterUserDto.RegisterUserResult.Success);
        }
Esempio n. 2
0
        public async Task <RegisterUserResult> RegisterUser(RegisterUserDTO register)
        {
            if (IsUserExistByEmail(register.Email))
            {
                return(RegisterUserResult.EmailExist);
            }

            var user = new User
            {
                Email           = register.Email.SanitizeText(),
                Address         = register.Address.SanitizeText(),
                FirstName       = register.FirstName.SanitizeText(),
                LastName        = register.LastName.SanitizeText(),
                EmailActiveCode = Guid.NewGuid().ToString(),
                Password        = _passwordHelper.EncodePasswordMd5(register.Password)
            };

            await _userRepository.AddEntity(user);

            await _userRepository.SaveChanges();


            #region Sending Activated Email
            var body = await _renderView.RenderToStringAsync("Email/_ActivateAccount", user);

            _mailSender.Send("*****@*****.**", "تست فعالسازی", body);
            #endregion

            return(RegisterUserResult.Success);
        }
Esempio n. 3
0
        public async Task <RegisterUserResult> RegisterUser(RegisterViewModel register)
        {
            if (IsUserExistByEmail(register.Email))
            {
                return(RegisterUserResult.EmailExist);
            }
            var user = new Person()
            {
                EmailAddress = register.Email.SanitizeText(),
                Password     = _passwordHelper.EncodePasswordMd5(register.Password),
                Address      = null,
                Address2     = null,
                City         = null,
                Countries    = null,
                FirstName    = null,
                LastName     = null,
                IsAdmin      = false,
                IsDelete     = false,
                IsActive     = true,
                PhoneNumber  = 12345,
                PostCode     = 12345,
            };
            await unitOfWork.PersonRepository.Insert(user);

            await unitOfWork.SaveAsync();

            return(RegisterUserResult.Success);
        }
Esempio n. 4
0
        public async Task <RegisterUserResult> RegisterUser(RegisterUserDTO register)
        {
            if (IsUserExistsByEmail(register.Email))
            {
                return(RegisterUserResult.EmailExists);
            }

            var user = new User
            {
                Email           = register.Email.SanitizeText(),
                Address         = register.Address.SanitizeText(),
                FirstName       = register.FirstName.SanitizeText(),
                LastName        = register.LastName.SanitizeText(),
                EmailActiveCode = Guid.NewGuid().ToString(),
                Password        = passwordHelper.EncodePasswordMd5(register.Password)
            };

            await userRepository.AddEntity(user);

            await userRepository.SaveChanges();

            //var body = await renderView.RenderToStringAsync("Email/ActivateAccount", user);

            //mailSender.Send("*****@*****.**", "test", body);

            return(RegisterUserResult.Success);
        }
Esempio n. 5
0
        public async Task <RegisterUserResult> RegisterUser(RegisterUserDTO register)
        {
            if (IsUserExistsByEmail(register.Email))
            {
                return(RegisterUserResult.EmailExists);
            }

            var user = new User
            {
                Email            = register.Email.SanitizeText(),
                FirstName        = register.FirstName.SanitizeText(),
                LastName         = register.LastName.SanitizeText(),
                Avatar           = register.Avatar,
                DateOfBirth      = DateTime.ParseExact(register.DateOfBirth, "yyyy/MM/dd", CultureInfo.InvariantCulture),
                Gender           = register.Gender,
                MembershipNumber = register.MembershipNumber.SanitizeText(),
                MobileNumber     = register.MobileNumber.SanitizeText(),
                NationalCode     = register.NationalCode.SanitizeText(),
                EmailActiveCode  = Guid.NewGuid().ToString("N").Substring(0, 8),
                Password         = passwordHelper.EncodePasswordMd5(register.Password)
            };

            await userRepository.AddEntity(user);

            await userRepository.SaveChanges();

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

            await userRoleRepository.AddEntity(role);

            await userRoleRepository.SaveChanges();

            var body = await renderView.RenderToStringAsync("Email/ActivateAccount", user);

            mailSender.Send(user.Email, "فعال سازی حساب کاربری", body);

            return(RegisterUserResult.Success);
        }
        public async Task <ResultStatusType> Handle(AddUserCommandInfo request, CancellationToken cancellationToken)
        {
            var user = _mapper.Map <User>(request);

            user.Password = _passwordHelper.EncodePasswordMd5(request.Password);
            await _unitOfWork.UserRepositoryCommand.AddUser(user);

            await _unitOfWork.Save();

            return(ResultStatusType.Success);
        }
Esempio n. 7
0
        public async Task <RegisterUserResult> Handle(RegisterUserInfo request, CancellationToken cancellationToken)
        {
            var resultMap = _mapper.Map <User>(new RegisterUserInfo()
            {
                Address         = request.Address.SanitizeText(),
                Email           = request.Email.SanitizeText(),
                FirstName       = request.FirstName.SanitizeText(),
                LastName        = request.LastName.SanitizeText(),
                Password        = _passwordHelper.EncodePasswordMd5(request.Password),
                EmailActiveCode = request.EmailActiveCode
            });
            await _unitOfWork.UserRepositoryCommand.RegisterUser(resultMap);

            await _unitOfWork.Save();

            return(RegisterUserResult.Success);
        }
        public async Task <IActionResult> Login(LoginUserInfoQuery loginInfo)
        {
            loginInfo.Password = _passwordHelper.EncodePasswordMd5(loginInfo.Password);
            var user = await _mediator.Send(loginInfo);

            if (user == null)
            {
                return(NotFound(new { info = "کاربری یافت نشد" }));
            }
            else if (user.IsActivated == false)
            {
                return(Error(new { info = "حساب کاربری شما فعال نشده است" }));
            }
            else
            {
                var secretKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"]));
                var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);
                var tokenOptions      = new JwtSecurityToken(
                    issuer: _configuration["Jwt:Issuer"],
                    audience: _configuration["Jwt:Issuer"],
                    claims: new List <Claim>
                {
                    new Claim(ClaimTypes.Name, user.Email),
                    new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                    new Claim(ClaimTypes.Role, "User"),
                    new Claim("FullName", user.FirstName + ' ' + user.LastName)
                },
                    expires: loginInfo.RememberMe?DateTime.Now.AddDays(30) : DateTime.Now.AddMinutes(3),
                        // expires: DateTime.Now.AddDays(30),
                        signingCredentials: signinCredentials
                    );

                var tokenString = new JwtSecurityTokenHandler().WriteToken(tokenOptions);


                return(Success(new { token = tokenString, expireTime = loginInfo.RememberMe ? 30 : 3, firstName = user.FirstName, lastName = user.LastName, userId = user.Id, email = user.Email, address = user.Address }));
            }
        }