public void DeleteUser(string username, string password, List <Tuple <IUser, bool> > users) { password = Crypto.Encrypt(password); var query = db.Users.Where(u => u.Username == username); if (!query.Any()) { var e = new IllegalUsernameException("ERROR in DeleteUser: Username does not exist!"); Logger.Log(Severity.Error, e.Message); throw e; } query = query.Where(u => u.Password == password); if (!query.Any()) { var e = new IllegalPasswordException("ERROR in DeleteUser: Wrong password!"); Logger.Log(Severity.Error, e.Message); throw e; } //Tuple<IUser, bool> userToDelete = null; //for (var i = 0; i < users.Count; i++) //{ // if (users[i].Item1.Username == username) // { // if (users[i].Item1.Username == password) // { // userToDelete = users[i]; // } // else // { // var e = new IllegalPasswordException("ERROR in Edit Profile: Wrong password!"); // Logger.Log(Severity.Error, e.Message); // throw e; // } // } //} //if (userToDelete == null) //{ // var e = new IllegalUsernameException("ERROR in Login: Username does not exist!"); // Logger.Log(Severity.Error, e.Message); // throw e; //} var foundUser = users.Single(t => t.Item1.Username == username && t.Item1.Password == password); users.Remove(foundUser); db.Users.Remove(query.First()); db.SaveChanges(); Logger.Log(Severity.Action, "User: "******" deleted successfully!"); }
public IUser Login(string username, string password, List <Tuple <IUser, bool> > users) { password = Crypto.Encrypt(password); var query = db.Users.Where(u => u.Username == username); if (!query.Any()) { var e = new IllegalUsernameException("ERROR in Login: Username does not exist!"); Logger.Log(Severity.Error, e.Message); throw e; } query = query.Where(u => u.Password == password); if (!query.Any()) { var e = new IllegalPasswordException("ERROR in Login: Wrong password!"); Logger.Log(Severity.Error, e.Message); throw e; } var foundUser = users.SingleOrDefault(t => t.Item1.Username == username && t.Item1.Password == password); if (foundUser == null) { var e = new IllegalUsernameException("ERROR in Login: itsss nullll."); Logger.Log(Severity.Error, e.Message); throw e; } if (foundUser.Item2) { var e = new IllegalUsernameException("ERROR in Login: This User is already logged in."); Logger.Log(Severity.Error, e.Message); throw e; } var fuser = foundUser.Item1; users.Remove(foundUser); users.Add(new Tuple <IUser, bool>(fuser, true)); //users.Where(u => u.Item1.Username == username).ToList().ForEach(i => i = new Tuple<IUser, bool>(foundUser.Item1, true)); Logger.Log(Severity.Action, username + " logged in successfully!"); return(fuser); }