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); }