public static FacadeBase Login(string userName, string password, out LoginTokenBase login, out FacadeBase userFacade) { LoginService loginService = new LoginService(); LoginToken <Administrator> tokenAdmin; LoginToken <AirlineCompany> airLineToken; LoginToken <Customer> customerToken; if (loginService.TryAdminLogin(userName, password, out tokenAdmin)) { login = tokenAdmin; userFacade = new AnonymousUserFacade(); } else if (loginService.TryAirLineLogin(userName, password, out airLineToken)) { login = airLineToken; userFacade = new LoggedInAirlineFacade(); } else if (loginService.TryCustomerLogin(userName, password, out customerToken)) { login = customerToken; userFacade = new LoggedInCustomerFacade(); } else { throw new WrongPasswordOrUserException(); } userFacade = new AnonymousUserFacade(); login = null; return(null); }
/// <summary> /// Try to login with username and password, set the token and returs match facade. /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="login"></param> /// <returns></returns> public FacadeBase Login(string username, string password, out LoginTokenBase login) { LoginService service = new LoginService(); LoginToken <Administrator> tokenAdmin; LoginToken <AirlineCompany> tokenAir; LoginToken <Customer> tokenCust; if (service.TryAdminLogin(username, password, out tokenAdmin)) { login = tokenAdmin; if (login != null) { FacadeBase adminFacade = new LoggedInAdministratorFacade(); return(adminFacade); } } else if (service.TryArilineLogin(username, password, out tokenAir)) { login = tokenAir; if (login != null) { FacadeBase airlineFacade = new LoggedInAirlineFacade(); return(airlineFacade); } } else if (service.TryCustomerLogin(username, password, out tokenCust)) { login = tokenCust; if (login != null) { FacadeBase custFacade = new LoggedInCustomerFacade(); return(custFacade); } } else { login = null; } return(null); }