public RegisteredUsersDTO Read() { RegisteredUsersDTO usersDTO = new RegisteredUsersDTO(); foreach (var user in repo.Read()) { usersDTO.NumberOf++; usersDTO.registeredUsers.Add(new RegisteredUserDTO() { Identifier = user.Identifier, Username = user.Username, Password = user.Password, Lastname = user.Lastname, Firstname = user.Firstname, IsActive = user.IsActive }); } usersDTO.IsValid = true; return(usersDTO); }
/* The unit of work would be * a. authenticate user * b. update LastLogedIn * c. reset number of attempts */ public UserLogin LoginUser(string username, string password) { UserLogin user = new UserLogin(); Login loginDetails = new Login(username, password); /* get users details */ RegisteredUser userDetails = RegUserRepo.Read(loginDetails.UserName); if (userDetails != null) { /* ***************************************************** */ /* have a matched user, need to ascertain if valid */ /* Check for attempts, Locked account and password match */ /* ***************************************************** */ if (CheckLocked(ref user, loginDetails, userDetails)) { if (CheckAttempts(ref user, loginDetails, userDetails)) { CheckPassword(ref user, loginDetails, userDetails); } } /* map to UserLogin object */ user.UserName = userDetails.Username; user.LastLoggedIn = userDetails.LastLoggedIn; user.FirstName = userDetails.Firstname; user.LastName = userDetails.Lastname; user.Identifier = userDetails.Identifier; } else { /* Is not a valid user */ user.IsLoggedIn = false; user.Status = UserStatus.unkown; } return(user); }