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); }
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); }
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); }
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); }
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); }
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 })); } }