Exemple #1
0
        public Boolean UpdatePersonal(User_Personal Update)
        {
            var filter = Builders <User> .Filter.Eq(x => x.uID, Update.uID);

            var update = Builders <User> .Update.Set(x => x.Personal, Update);

            var status = _users.UpdateOne(filter, update);

            if (status == null)
            {
                return(false);
            }
            return(true);
        }
        public User Register(User_Register register)
        {
            if (string.IsNullOrWhiteSpace(register.Password))
            {
                throw new ApplicationException("Password is required");
            }

            if (_auths.Find(x => x.Username == register.Username) == null)
            {
                throw new ApplicationException("Username \"" + register.Username + "\" is already taken");
            }

            User          user     = new User();
            AuthUser      auth     = new AuthUser();
            User_Personal personal = new User_Personal();

            if (register.Username.Contains("1234"))
            {
                user.Role = Role.Admin;
            }
            // sets up personal information on newly registered account
            personal      = register.Personal;
            user.Personal = personal;
            auth.Username = register.Username;
            var uID = Guid.NewGuid().ToString();

            //sets up security hash salt
            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(register.Password, out passwordHash, out passwordSalt);
            auth.Username     = register.Username;
            auth.PasswordHash = passwordHash;
            auth.PasswordSalt = passwordSalt;
            auth.uID          = uID;

            _auths.InsertOne(auth);
            user.Status = true;
            if (user != null)
            {
                _users.InsertOne(user);
            }

            return(user);
        }