public IActionResult Register([FromBody] UserRegisterDTO userRegisterDto) { try { if (userRegisterDto.Password.Length < 5) { return(Ok(new { message = "Password can't be less than 5 char", ErrorHappen = true })); } User userObj = _eyadtakDbContext.Users.FirstOrDefault(x => x.UserEmail == userRegisterDto.Email); if (userObj != null) { return(Ok(new { message = "This Email Already Exsist", ErrorHappen = true })); } User user = new User() { Password = Encription.Encrypt(userRegisterDto.Password, "SecretCode_hamed"), UserName = userRegisterDto.Name, UserEmail = userRegisterDto.Email, Active = false, RegisterDate = DateTime.Now, RecoveryCode = -1, GenderId = userRegisterDto.GenderId, PhoneNumber = userRegisterDto.PhoneNumber }; user.User_Role = new List <User_Role>(); user.User_Role.Add(new User_Role() { RoleId = userRegisterDto.RoleId, UserId = user.UserId }); _eyadtakDbContext.Users.Add(user); _eyadtakDbContext.SaveChanges(); string token = _jwt.GenerateToken(user.UserId); _email.SendAccountActivationEmail(user.UserEmail, _configuration.GetSection("Frontend:Url").Value + "/account/activate-account/?token=" + token); return(Ok(new { message = "User Registerd Successfully", ErrorHappen = false })); } catch (Exception e) { return(Ok(new { message = e.Message, ErrorHappen = true })); throw e; } }
public IActionResult Register([FromBody] UserRegisterDTO userRegisterDto) { User user = UserMapper.Map(userRegisterDto); FillEmptyFields(user); UserValidator validator = new UserValidator(ValidationMode.Create, db); var result = validator.Validate(user); if (!result.IsValid) { return(Json(new { statusCode = ResponseStatus.ValidationError, responseMessage = result.Errors })); } user.Password = Encription.Encrypt(user.Password, "SecretCode_hamed"); db.Add(user); db.SaveChanges(); string token = jwt.GenerateToken(user.Id); email.SendAccountActivationEmail(user.Email, "https://localhost:44340/Account/ActivateAccount/?token=" + token); return(Json(new { statusCode = ResponseStatus.Success, responseMessage = user.Id })); }