Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }