Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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 }));
        }