Esempio n. 1
0
        public async Task <ActionResult> Registration([FromBody] MockRegistration obj)
        {
            if (obj == null)
            {
                return(BadRequest());
            }

            if (!obj.IsValidPassword())
            {
                ModelState.AddModelError("Password", "Пароль должен содержать 8 символов, иметь хотя бы одну заклавную букву, одну цифру, один спецальный символ.");
                return(BadRequest(ModelState));
            }

            if (!obj.IsValidEmail())
            {
                ModelState.AddModelError("Email", "Email введен не верно.");
                return(BadRequest(ModelState));
            }

            if (!obj.CheckNameUser(_db))
            {
                ModelState.AddModelError("UserName", "Пользователь с таким ником уже существует!");
                return(BadRequest(ModelState));
            }

            if (!obj.CheckEmail(_db))
            {
                ModelState.AddModelError("UserName", "Данный Email уже существует!");
                return(BadRequest(ModelState));
            }

            if (!obj.CheckRole())
            {
                ModelState.AddModelError("Role", "Данной роли не существует!");
                return(BadRequest(ModelState));
            }

            User user = new User();

            user.Email    = obj.Email;
            user.UserName = obj.UserName;
            user.Password = obj.GetHashPasword();
            user.Role     = obj.Role;

            await _db.SetValue(user.GetType().Name, user);

            var identity = GetIdentity(user.UserName);

            return(Token(identity));
        }
Esempio n. 2
0
        public ActionResult PutPassword([FromBody] MockRegistration obj)
        {
            if (obj == null)
            {
                return(BadRequest());
            }

            User user = _db.GetUser(obj.UserName).Result;

            if (!obj.IsValidPassword())
            {
                ModelState.AddModelError("Password", "Пароль должен содержать 8 символов, иметь хотя бы одну заклавную букву, одну цифру, один спецальный символ.");
                return(BadRequest(ModelState));
            }
            user.Password = obj.GetHashPasword();

            _db.Save(user.GetType().Name, user.UserName, user);

            return(Ok(user));
        }