//CREATE ACCOUNT public void CreateAccount(string username, string password, string email, string phoneNo) { using (var db = new AddressBookDataContext()) { if (UsernameAndPasswordNotNull(username, password)) { if (!UserExists(username)) { User user = new User { Username = username, UserPassword = password, Email = email, PhoneNo = phoneNo }; db.Users.Add(user); } else { throw new Exception("Username has been taken, please try again"); } } else { throw new Exception("Username and password cannot be null"); } db.SaveChanges(); } }
public bool PasswordCheck(string username, string password) { using (var db = new AddressBookDataContext()) { return(db.Users.Where(u => u.Username == username).Select(u => u.UserPassword).FirstOrDefault() == password); } }
public void SetSelectedUser(string username) { using (var db = new AddressBookDataContext()) { SelectedUser = db.Users.Where(u => u.Username == username).FirstOrDefault(); } }
public bool UserExists(string username) { using (var db = new AddressBookDataContext()) { return(db.Users.Where(u => u.Username == username).FirstOrDefault() != null); } }
public void CorrectCredentials(User user) { using (var db = new AddressBookDataContext()) { db.Users.Add(user); db.SaveChanges(); } }
public void UserIsDeleted() { using (var db = new AddressBookDataContext()) { var remove = db.Users.Where(u => u.Username == "Bill Wurst").FirstOrDefault(); db.Users.Remove(remove); db.SaveChanges(); } }
// UPDATE ACCOUNT public void UpdateAccountDetails(string newUsername, string email, string phoneNo) { using (var db = new AddressBookDataContext()) { SelectedUser.Username = newUsername; SelectedUser.Email = email; SelectedUser.PhoneNo = phoneNo; db.SaveChanges(); } }
//DELETE ACCOUNT public void DeleteUser(string passwordOne, string passwordTwo) { using (var db = new AddressBookDataContext()) { if (PasswordsMatch(passwordOne, passwordTwo)) { db.Users.Remove(SelectedUser); } db.SaveChanges(); } }
protected AddressBookDataContext GetInMemoryDBContext() { var serviceProvider = new ServiceCollection() .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); var builder = new DbContextOptionsBuilder <AddressBookDataContext>(); var options = builder.UseInMemoryDatabase("TestLibDb").UseInternalServiceProvider(serviceProvider).Options; AddressBookDataContext dbContext = new AddressBookDataContext(options); dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); return(dbContext); }
//LOGIN TO ACCOUNT public string Login(string username, string password) { using (var db = new AddressBookDataContext()) { if (UserExists(username) && PasswordCheck(username, password)) { SetSelectedUser(username); return("Login Successful"); } else { return("Unsuccessful login attempt"); } } }
//UPDATE PASSWORD public void ChangePassword(string oldPassword, string newPassword, string newPasswordRepeat) { using (var db = new AddressBookDataContext()) { if (oldPassword == SelectedUser.UserPassword) { if (PasswordsMatch(newPassword, newPasswordRepeat)) { SelectedUser.UserPassword = newPassword; } else { throw new Exception("Passwords do not match"); } } else { throw new Exception("The old password is incorrect"); } db.SaveChanges(); } }
public DataAccessTestBase(AddressBookDataContext dbContext = null) => this.dbContext = dbContext ?? GetInMemoryDBContext();
public ContactsController(ILogger <ContactsController> logger, AddressBookDataContext dbContext) { _logger = logger; _dbContext = dbContext; _repository = new ContactRepository(_dbContext); }