public string Add(UserCreateNewRequest request)
        {
            if (request.Login == null || request.Password == null)
            {
                return(Error.LOGIN_OR_PW_NULL);
            }

            if (_context.UserEntity.FirstOrDefault(x => x.Login == request.Login) != null)
            {
                return(string.Format(Error.LOGIN_EXIST, request.Login));
            }
            if (_context.UserEntity.FirstOrDefault(x => x.Email == request.Email) != null)
            {
                return(string.Format(Error.EMAIL_EXIST, request.Email));
            }

            int    random = new Random().Next();
            string pw     = request.Password + random.ToString();

            _context.UserEntity.Add(new UserEntity
            {
                Login        = request.Login,
                Email        = request.Email,
                PasswordHash = Hash(pw),
                Salt         = random,
                PublicKey    = "???"              //TODO: generate from password = private key
            });
            _context.SaveChanges();

            SendWelcomeEmail(request.Email);

            return(Error.OK);
        }
Exemple #2
0
        public IActionResult Add(UserCreateNewRequest request)
        {
            var response = _service.Add(request);

            return(response.Equals(Error.OK) ? Ok() : BadRequest(response));
        }