示例#1
0
        /// <summary>
        /// Create User
        /// </summary>
        /// <param name="user">User to create</param>
        /// <returns>Boolean</returns>
        public async Task <bool> CreateUserAsync(User user)
        {
            user.isPermanent = false;

            user.Password = new HashService()
                            .Hash(user.Password);

            if (!_checkEmailService.IsAlreadyTaken(user.Email))
            {
                try
                {
                    _context.Users.Add(user);
                    await _context.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    _logger.LogWarning(ex.ToString());
                    return(false);
                }
                return(true);
            }
            return(false);
        }
        public IActionResult Register([FromBody] UserRegisterPostModel userview)
        {
            IActionResult response = BadRequest("Error");

            if (_checkEmailService.IsAlreadyTaken(userview.Email))
            {
                return(BadRequest("Email already in use"));
            }

            User user = new User
            {
                Email    = userview.Email,
                Name     = userview.Name,
                Surname  = userview.Surname,
                Password = userview.Password,
                IsActive = userview.IsActive
            };

            if (_crudService.CreateUserAsync(user).Result)
            {
                response = Ok();
            }
            return(response);
        }