public bool Login(User user, string password, string url) { string hashedPassword = HashPassword(password); RegisteredUser correspondentUser = Users.Find(item => item.GetId() == user.Id && item.GetHashedPassword() == hashedPassword && item.GetName() == user.Name); if (correspondentUser != null) { LoggedUsers.Add(correspondentUser, url); return(true); } else { return(false); } }
public User CreateUser(User user, string password) { string hashedPassword = this.HashPassword(password); int computedId = this.LastId + 1; this.LastId = computedId; RegisteredUser registered = new RegisteredUser(user.Name, computedId, hashedPassword); this.Users.Add(registered); // add new user User newUser = new User(); user.Id = registered.GetId(); user.Name = registered.GetName(); return(newUser); }
public bool RemovedFromLoggedUsers(User user) { RegisteredUser registered = GetRegisteredUser(user); return(LoggedUsers.Remove(registered)); // true if removed }
public bool IsLoggedIn(User user, string url) { RegisteredUser registeredUser = GetRegisteredUser(user); return(LoggedUsers.ContainsKey(registeredUser) && LoggedUsers.GetValueOrDefault(registeredUser) == url); }