예제 #1
0
 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.");
     }
 }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }