public void LogOut(Guid id) { if (TokenContainer.GetContext().LoggedUsers.ContainsKey(id)) { TokenContainer.GetContext().LoggedUsers.Remove(id); } else { throw new UserNotExistException("El usuario no se encuentra loggeado en el sistema."); } }
public UserDTO GetUserLoggedIn(Guid id) { UserDTO userDTO = null; if (TokenContainer.GetContext().LoggedUsers.ContainsKey(id)) { userDTO = TokenContainer.GetContext().LoggedUsers[id]; } else { throw new UserNotExistException("El usuario no se encuentra loggeado en el sistema."); } return(userDTO); }
public UserLoggedDTO LogIn(LoginDTO loginUser) { UserLoggedDTO userLoggedDTO = new UserLoggedDTO(); bool userLoggedIn = false; foreach (UserDTO user in TokenContainer.GetContext().LoggedUsers.Values) { if (user.UserName.Equals(loginUser.UserName)) { KeyValuePair <Guid, UserDTO> valuePair = TokenContainer.GetContext().LoggedUsers.FirstOrDefault(u => u.Value.Equals(user)); UserDTO userDTO = valuePair.Value; userLoggedDTO.FullName = userDTO.Name + " " + userDTO.LastName; userLoggedDTO.Role = userDTO.Role; userLoggedDTO.Token = valuePair.Key; userLoggedIn = true; LogEvent log = new LoginEvent(user); VehicleTrackingLog.GetInstance().WriteEvent(log); } } if (!userLoggedIn) { UserDTO userDTO = this.userDAO.LogIn(loginUser); if (userDTO == null) { throw new UserOrPasswordNotFoundException("El nombre de usuario o password no son correctos"); } else { Guid token = Guid.NewGuid(); TokenContainer.GetContext().LoggedUsers.Add(token, userDTO); userLoggedDTO.Token = token; userLoggedDTO.FullName = userDTO.Name + " " + userDTO.LastName; userLoggedDTO.Role = userDTO.Role; LogEvent log = new LoginEvent(userDTO); VehicleTrackingLog.GetInstance().WriteEvent(log); } } return(userLoggedDTO); }