示例#1
0
        public void CustomerFacadeTest()
        {
            FlightCenterConfig.DeleteDataBase();
            long            countryId2 = 0;
            AirLineDAOMSSQL adao       = new AirLineDAOMSSQL();
            CountryDAOMSSQL cydao      = new CountryDAOMSSQL();

            cydao.Add(new Country {
                COUNTRY_NAME = "Israel"
            });
            long countryId1 = cydao.GetCountryId("Israel");

            cydao.Add(new Country {
                COUNTRY_NAME = "Germany"
            });
            countryId2 = cydao.GetCountryId("Germany");
            long airlineCompanyId1 = adao.GetAirlineCompanyId("ISR91");

            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "British Airlines", USER_NAME = "British555", PASSWORD = "******", COUNTRY_CODE = countryId2
            });
            long airlineCompanyId2 = adao.GetAirlineCompanyId("British555");


            Flight flight = new Flight(airlineCompanyId1, airlineCompanyId2, countryId1, new DateTime(2019, 05, 10, 10, 30, 00), new DateTime(2019, 05, 10, 15, 05, 00), 15, "HajajaOnile", "555");
            LoginToken <Customer> customerLogin = new LoginToken <Customer>();

            customerLogin.User           = new Customer();
            customerLogin.User.USER_NAME = "talGever";
            customerLogin.User.PASSWORD  = "******";
            LoggedInCustomerFacade customerFacade = new LoggedInCustomerFacade();

            customerFacade.PurchaseTicket(customerLogin, flight);
        }
示例#2
0
        public void CountryFuncsTest()
        {
            FlightDAOMSSQL flight = new FlightDAOMSSQL();

            flight.RemoveAll();
            CountryDAOMSSQL c = new CountryDAOMSSQL();

            c.RemoveAll();
            AirlineDAOMSSQL airline = new AirlineDAOMSSQL();

            airline.RemoveAll();
            Country c1, c2;

            c1 = new Country("UAE"); c2 = new Country("England");
            CountryDAOMSSQL country = new CountryDAOMSSQL();

            country.RemoveAll();
            country.Add(c1);
            country.Add(c2);
            country.Remove(c2);
            IList <Country> countries      = country.GetAll();
            Country         updatedCountry = country.Get(c1.Id); updatedCountry.CountryName = "Spain";

            country.Update((updatedCountry));
            Assert.AreEqual(updatedCountry, countries[0]);
        }
        public void CancelTicket()
        {
            countryDAO.Add(new Country("Israel"));

            airlineDAO.Add(new AirlineCompany("ELAL", "ELALUSERNAME", "ELALPASSEORD", countryDAO.GetCountryByName("Israel").ID));

            flightDAO.Add(new Flight(airlineDAO.GetAirlineByName("ELAL").ID, countryDAO.GetCountryByName("Israel").ID, countryDAO.GetCountryByName("Israel").ID, new DateTime(DateTime.Now.Year + 1, 12, 2), new DateTime(DateTime.Now.Year + 1, 12, 3), 30, FlightStatus.NotDeparted));
            Flight flightOne = flightDAO.GetAll()[0];

            customerDAO.Add(new Customer("FIRSTNAME", "LASTNAME", "USERNAME", "PASSWORD", "ADDRESS", "PNUMBER", "CNUMBER"));
            customerDAO.Add(new Customer("FIRSTNAME2", "LASTNAME2", "USERNAME2", "PASSWORD2", "ADDRESS2", "PNUMBER2", "CNUMBER2"));
            Customer customerOne = customerDAO.GetAll()[0];
            Customer customerTwo = customerDAO.GetAll()[1];

            LoginToken <Customer> customerLoggedIn = new LoginToken <Customer>();

            customerLoggedIn.user = customerOne;

            ticketDAO.Add(new Ticket(flightOne.ID, customerOne.ID));
            ticketDAO.Add(new Ticket(flightOne.ID, customerTwo.ID));
            Ticket ticketOne = ticketDAO.GetAll()[0];

            flightOne = flightDAO.GetAll()[0];

            Assert.AreEqual(28, flightOne.RemainingTickets);
            facade.CancelTicket(customerLoggedIn, ticketOne);
            flightOne = flightDAO.GetAll()[0];
            Assert.AreEqual(29, flightOne.RemainingTickets);
            Assert.AreEqual(1, ticketDAO.GetAll().Count);
        }
        internal void AddCountriesFromApi(int number)
        {
            int counter = 0;

            try
            {
                _countries = _countryDAO.GetAll().ToList();
                HttpResponseMessage httpResponse = client.GetAsync(url + "?results=" + number).Result;

                for (int i = 0; i < number; i++)
                {
                    if (httpResponse.IsSuccessStatusCode)
                    {
                        Country c       = new Country();
                        var     content = httpResponse.Content.ReadAsStringAsync().Result;
                        APIUser aPIUser = JsonConvert.DeserializeObject <APIUser>(content);


                        if (!_countries.Any(country => country.CountryName == aPIUser.results[i].location.city))
                        {
                            c.CountryName = aPIUser.results[i].location.city;
                            _countryDAO.Add(c);
                            counter++;
                        }
                        ProgressValue += Convert.ToInt32(1.0 / Total * 100);
                    }
                    _countries = _countryDAO.GetAll().ToList();
                    Message    = $"Created Countries {counter}/ {number}\n";
                }
            }
            catch (Exception e)
            {
                Message += $"{e.ToString()}\n";
            }
        }
示例#5
0
        public void AirlineFacadeTest()
        {
            FlightCenterConfig.DeleteDataBase();
            CountryDAOMSSQL cydao = new CountryDAOMSSQL();

            cydao.Add(new Country {
                COUNTRY_NAME = "Israel"
            });
            long countryId1 = cydao.GetCountryId("Israel");

            cydao.Add(new Country {
                COUNTRY_NAME = "Germany"
            });
            long countryId2 = cydao.GetCountryId("Germany");

            AirLineDAOMSSQL adao = new AirLineDAOMSSQL();

            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "IsrLines", USER_NAME = "ISR91", PASSWORD = "******", COUNTRY_CODE = countryId1
            });
            long airlineCompanyId1 = adao.GetAirlineCompanyId("ISR91");

            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "British Airlines", USER_NAME = "British555", PASSWORD = "******", COUNTRY_CODE = countryId2
            });
            long airlineCompanyId2 = adao.GetAirlineCompanyId("British555");


            LoginToken <AirlineCompany> airlineLogin = new LoginToken <AirlineCompany>();

            airlineLogin.User           = new AirlineCompany();
            airlineLogin.User.USER_NAME = "airline4life";
            airlineLogin.User.PASSWORD  = "******";
            LoggedInAirlineFacade airlineFacade = new LoggedInAirlineFacade();
            Flight flight = new Flight(airlineCompanyId1, airlineCompanyId2, countryId1, new DateTime(2019, 05, 10, 10, 30, 00), new DateTime(2019, 05, 10, 15, 05, 00), 15, "HajajaOnile", "555");

            airlineFacade.CreateFlight(airlineLogin, flight);
            FlightDAOMSSQL fdao     = new FlightDAOMSSQL();
            long           flightid = fdao.GetFlightId("555");

            Assert.AreEqual(flight, airlineFacade.GetFlightById((int)flightid));
            airlineFacade.CancelFlight(airlineLogin, flight);
            Assert.IsNotNull(airlineFacade.GetFlightById((int)flightid));

            airlineFacade.ChangeMyPassword(airlineLogin, "Na123456", "Aa100200");
            Assert.AreEqual("Aa100200", airlineLogin.User.PASSWORD);
        }
示例#6
0
 public void CreateNewCountry(LoginToken <Administrator> token, Country country)
 {
     if (token != null)
     {
         _countryDAO = new CountryDAOMSSQL();
         _countryDAO.Add(country);
     }
 }
        public void LoginAirline()
        {
            countryDAO.Add(new Country("Israel"));
            AirlineCompany airlineUser = airlineDAO.Add(new AirlineCompany("ELAL", "ELALUSERNAME", "ELALPASSWORD", countryDAO.GetCountryByName("Israel").ID));

            FacadeBase  facade;
            ILoginToken loginToken;

            centerSystem.Login("ELALUSERNAME", "ELALPASSWORD", out facade, out loginToken);

            Assert.IsTrue(loginToken is LoginToken <AirlineCompany>);
            Assert.IsTrue(facade is LoggedInAirlineFacadeMSSQL);
        }
示例#8
0
        public void AnonymousrFacadeTest()
        {
            FlightDAOMSSQL flightsHandler = new FlightDAOMSSQL();

            flightsHandler.RemoveAll();
            #region filling the flights table
            CountryDAOMSSQL c = new CountryDAOMSSQL();
            c.RemoveAll();
            AirlineDAOMSSQL airline = new AirlineDAOMSSQL();
            airline.RemoveAll();
            Country c1 = new Country("israel");
            c.Add(c1);
            AirlineCompany airline1 = new AirlineCompany("eldal", "maher", "123", c1.Id);
            airline.Add(airline1);
            DateTime t  = new DateTime(2019, 05, 05, 21, 22, 44);
            DateTime t1 = new DateTime(2019, 08, 29, 22, 33, 22);
            Debug.WriteLine(t1.ToString("MM/dd/yy H:mm:ss"));

            Flight f1 = new Flight(airline1.Id, c1.Id, c1.Id, t, t1, 22);
            flightsHandler.Add(f1);
            #endregion
            FlyingCenterSystem   centerSystem    = new FlyingCenterSystem();
            AnonymouseUserFacade anonymusefacade = centerSystem.OpenLogInSystem();
            Assert.IsNotNull(anonymusefacade);
            IList <AirlineCompany> listcomapny = anonymusefacade.GetAllAirlineCompanies();

            IList <Flight> flightsList = anonymusefacade.GetAllFlights();
            Assert.AreEqual(f1, flightsList[0]);
            Dictionary <Flight, int> valuePairs = anonymusefacade.GetAllFlightsVacancy();
            Assert.AreEqual(f1.RemainingTickets, valuePairs[f1]);
            Flight flightsById = anonymusefacade.GetFlightById(f1.Id);
            Assert.AreEqual(f1, flightsById);
            IList <Flight> FlightsByDtime = anonymusefacade.GetFlightsByDepartureDate(f1.DepartureTime);
            Assert.AreEqual(f1, FlightsByDtime[0]);
            IList <Flight> flighsByDesCountryList = anonymusefacade.GetFlightsByDestionationCountry(f1.DistinationCountryCode);
            Assert.AreEqual(f1, flighsByDesCountryList[0]);
            IList <Flight> FlightsByLandingTimeList = anonymusefacade.GetFlightsByLandingeDate(f1.LandingTime);
            Assert.AreEqual(f1, FlightsByLandingTimeList[0]);
            IList <Flight> FlightsByOriginCountry = anonymusefacade.GetFlightsByOriginCountry(f1.OriginCountryCode);
            Assert.AreEqual(f1, FlightsByOriginCountry[0]);
        }
示例#9
0
        public void FlightFuncsTest()
        {
            FlightDAOMSSQL flight = new FlightDAOMSSQL();

            flight.RemoveAll();
            CountryDAOMSSQL c = new CountryDAOMSSQL();

            c.RemoveAll();
            AirlineDAOMSSQL airline = new AirlineDAOMSSQL();

            airline.RemoveAll();
            Country c1 = new Country("israel");

            c.Add(c1);
            AirlineCompany airline1 = new AirlineCompany("eldal", "maher", "123", c1.Id);

            airline.Add(airline1);
            DateTime t  = DateTime.Now;
            DateTime t1 = new DateTime(2019, 8, 20, 22, 33, 22);
            Flight   f1 = new Flight(airline1.Id, c1.Id, c1.Id, t, t1, 22);

            flight.Add(f1);
            Assert.AreEqual(f1, flight.GetFlighstByOriginCountry(f1.OriginCountryCode)[0]);
        }
示例#10
0
        public void AirlineComapnyFacadeTest()
        {
            string username = "******";
            string password = "******";

            FlightDAOMSSQL  flight  = new FlightDAOMSSQL();
            CountryDAOMSSQL c       = new CountryDAOMSSQL();
            AirlineDAOMSSQL airline = new AirlineDAOMSSQL();

            flight.RemoveAll();
            airline.RemoveAll();
            c.RemoveAll();
            Country c1 = new Country("israel");

            c.Add(c1);
            DateTime       t        = DateTime.Now;
            DateTime       t1       = new DateTime(2019, 08, 29, 22, 33, 22);
            AirlineCompany company1 = new AirlineCompany("elal", "elel", "123", c1.Id);

            airline.Add(company1);
            Flight f1 = new Flight(company1.Id, c1.Id, c1.Id, t, t1, 22);

            flight.Add(f1);
            FlyingCenterSystem    centerSystem = new FlyingCenterSystem();
            LoggedInAirlinefacade airlinefacade;
            bool filled = false;

            centerSystem.OpenLogInSystem(username, password, out airlinefacade, ref filled);
            if (filled)
            {
                IList <AirlineCompany> airlineCompaniesList = airlinefacade.GetAllAirlineCompanies();
                Assert.AreEqual(company1, airlineCompaniesList[0]);
                IList <Flight> flightsList = airlinefacade.GetAllFlights();
                Assert.AreEqual(f1, flightsList[0]);
                Dictionary <Flight, int> reaminingTicketMapFlights = airlinefacade.GetAllFlightsVacancy();
                Assert.AreEqual(f1.RemainingTickets, reaminingTicketMapFlights[f1]);
                IList <Ticket> ticketsOfAirlineCompanyList = airlinefacade.GetAllTickets(airlinefacade.AirlineToken);

                Flight flightById = airlinefacade.GetFlightById(f1.Id);
                Assert.AreEqual(f1, flightById);
                IList <Flight> fflightsByDeparyreTimeList = airlinefacade.GetFlightsByDepartureDate(f1.DepartureTime);
                Assert.AreEqual(f1, fflightsByDeparyreTimeList[0]);
                IList <Flight> flightsBydestinationCountryList = airlinefacade.GetFlightsByDestionationCountry(c1.Id);
                Assert.AreEqual(f1, flightsBydestinationCountryList[0]);
                IList <Flight> flightsByLandingTimeList = airlinefacade.GetFlightsByLandingeDate(f1.LandingTime);
                Assert.AreEqual(f1, flightsByLandingTimeList[0]);
                IList <Flight> flightsByOriginCountryList = airlinefacade.GetFlightsByOriginCountry(c1.Id);
                Assert.AreEqual(f1, flightsByOriginCountryList[0]);
                f1.RemainingTickets = f1.RemainingTickets - 3;
                airlinefacade.UpdateFlight(airlinefacade.AirlineToken, f1);
                Dictionary <Flight, int> updatedVanacyMapFligh = airlinefacade.GetAllFlightsVacancy();
                Assert.AreEqual(f1.RemainingTickets, updatedVanacyMapFligh[f1]);
                //Assert.AreSame(f1, airlinefacade.GetFlightById(f1.Id));
                ////airlinefacade.CancelFlight(airlinefacade.AirlineToken, f1);
                ////airlinefacade.ChangeMyPassword(airlinefacade.AirlineToken, "", "");
            }
            else
            {
                Assert.AreEqual(2, 3);
            }
        }
示例#11
0
        public void GetAllAirlineCompanies()
        {
            countryDAO.Add(new Country("Israel"));
            airlineDAO.Add(new AirlineCompany("ELAL", "ELALUSERNAME", "ELALPASSEORD", countryDAO.GetCountryByName("Israel").ID));
            airlineDAO.Add(new AirlineCompany("ARKIA", "ARKIAUSERNAME", "ARKIAPASSEORD", countryDAO.GetCountryByName("Israel").ID));

            Assert.AreEqual(2, facade.GetAllAirlineCompanies().Count);
        }
示例#12
0
        public void CreateNewAirline()
        {
            countryDAO.Add(new Country("Israel"));

            facade.CreateNewAirline(new AirlineCompany("ElAl", "ElAl2004", "123456", countryDAO.GetCountryByName("Israel").ID));
            Assert.AreEqual("ElAl", airlineDAO.GetAirlineByName("ElAl").AirLineName);
            Assert.AreEqual("ElAl2004", airlineDAO.GetAirlineByName("ElAl").UserName);
            Assert.AreEqual("123456", airlineDAO.GetAirlineByName("ElAl").Password);
            Assert.AreEqual(countryDAO.GetCountryByName("Israel").ID, airlineDAO.GetAirlineByName("ElAl").CountryCode);
        }
示例#13
0
        public void AdminFacadeTest()
        {
            // Deleting database
            FlightCenterConfig.DeleteDataBase();
            //Creating DAO'S samples to test
            long             airlineCompanyId1 = 0, airlineCompanyId2 = 0, countryId1 = 0, countryId2 = 0, flightId1 = 0, customerId1 = 0;
            AirLineDAOMSSQL  adao = new AirLineDAOMSSQL();
            FlightDAOMSSQL   fdao = new FlightDAOMSSQL();
            CustomerDAOMSSQL cdao = new CustomerDAOMSSQL();
            CountryDAOMSSQL  cydao = new CountryDAOMSSQL();
            TicketDAOMSSQL   tdao = new TicketDAOMSSQL();

            // Adding new countries
            cydao.Add(new Country {
                COUNTRY_NAME = "Israel"
            });
            countryId1 = cydao.GetCountryId("Israel");

            cydao.Add(new Country {
                COUNTRY_NAME = "Germany"
            });
            countryId2 = cydao.GetCountryId("Germany");

            // Adding new Airline companies
            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "IsrLines", USER_NAME = "ISR91", PASSWORD = "******", COUNTRY_CODE = countryId1
            });
            airlineCompanyId1 = adao.GetAirlineCompanyId("ISR91");

            adao.Add(new AirlineCompany {
                AIRLINE_NAME = "British Airlines", USER_NAME = "British555", PASSWORD = "******", COUNTRY_CODE = countryId2
            });
            airlineCompanyId2 = adao.GetAirlineCompanyId("British555");

            // Adding new Flight
            fdao.Add(new Flight {
                AIRLINECOMPANY_ID = airlineCompanyId1, ORIGIN_COUNTRY_CODE = countryId1, DESTINATION_COUNTRY_CODE = countryId2, DEPARTURE_TIME = new DateTime(2019, 05, 10, 10, 30, 00), LANDING_TIME = new DateTime(2019, 05, 10, 15, 05, 00), REMAINING_TICKETS = 15, AIRLINECOMPANY_NAME = "IsrLines", FLIGHT_NAME = "555"
            });
            flightId1 = fdao.GetFlightId("555");

            // Adding new Customer
            cdao.Add(new Customer {
                FIRST_NAME = "Efrat", LAST_NAME = "Patihi", USER_NAME = "Efrat_kapara", PASSWORD = "******", ADDRESS = "Netanya , Raziel 40", PHONE_NO = "05011554875", CREDIT_CARD_NUMBER = "123456789"
            });
            customerId1 = cdao.GetCustomerId("Efrat_kapara");

            // Adding new Ticket
            tdao.Add(new Tickets {
                CUSTOMER_ID = customerId1, FLIGHT_ID = flightId1
            });
            // Testing
            FlyingCenterSystem         fcs        = FlyingCenterSystem.GetInstance();
            LoginToken <Administrator> adminLogin = new LoginToken <Administrator>();

            adminLogin.User = new Administrator();
            adminLogin.User.AdminUserName = "******";
            adminLogin.User.Password      = "******";


            // Trying to login
            fcs.login.TryAdminLogin(adminLogin.User.AdminUserName, adminLogin.User.Password, out LoginToken <Administrator> adminToken);
            fcs.login.TryAirlineLogin("ISR91", "Is789", out LoginToken <AirlineCompany> airlineToken);
            fcs.login.TryCustomerLogin("Efrat_kapara", "Efi93", out LoginToken <Customer> customerToken);


            // Testing admin facade fucntions
            LoggedInAdministratorFacade adminFacadae = fcs.GetFacade(adminLogin) as LoggedInAdministratorFacade;

            adminFacadae.CreateNewCountry(adminLogin, new Country {
                COUNTRY_NAME = "Israel"
            });
            AirlineCompany airline = new AirlineCompany()
            {
                AIRLINE_NAME = "Nassa",
                USER_NAME    = "Nassa28",
                PASSWORD     = "******",
                COUNTRY_CODE = adminFacadae.GetCountryId("Israel")
            };

            adminFacadae.CreateNewAirline(adminLogin, airline);
            Assert.AreEqual(adminFacadae.GetAirlineByUserame("Nassa28"), airline);

            Customer cust = new Customer()
            {
                FIRST_NAME         = "Tal",
                LAST_NAME          = "Rdt",
                USER_NAME          = "TalGever",
                PASSWORD           = "******",
                ADDRESS            = "Hazfira 20, Pardes hanna",
                PHONE_NO           = "0505001245",
                CREDIT_CARD_NUMBER = "456123456789"
            };

            adminFacadae.CreateNewCustomer(adminLogin, cust);
            Assert.AreEqual(cust, adminFacadae.GetCustomerByUserName("TalGever")); // works
            adminFacadae.UpdateAirlineDetails(adminLogin, new AirlineCompany {
                AIRLINE_NAME = "Nasa4Life", USER_NAME = "Nassa28", PASSWORD = "******", COUNTRY_CODE = adminFacadae.GetCountryId("Israel")
            });
            adminFacadae.UpdateCustomerDetails(adminLogin, new Customer {
                FIRST_NAME = "Tal", LAST_NAME = "Rdt", USER_NAME = "TalGever", PASSWORD = "******", ADDRESS = "Raziel 50 , Netanya", PHONE_NO = "0505001245", CREDIT_CARD_NUMBER = "456123456789"
            });
            AirlineCompany airl = new AirlineCompany()
            {
                AIRLINE_NAME = "Nasa4Life",
                USER_NAME    = "Nassa28",
                PASSWORD     = "******",
                COUNTRY_CODE = adminFacadae.GetCountryId("Israel")
            };

            adminFacadae.RemoveAirline(adminLogin, airl);
        }
示例#14
0
        public void CancelFlight()
        {
            countryDAO.Add(new Country("Israel"));

            airlineDAO.Add(new AirlineCompany("ELAL", "ELALUSERNAME", "ELALPASSEORD", countryDAO.GetCountryByName("Israel").ID));
            airlineDAO.Add(new AirlineCompany("ARKIA", "ARKIAYSERNAME", "ARKIAPASSWORD", countryDAO.GetCountryByName("Israel").ID));

            flightDAO.Add(new Flight(airlineDAO.GetAirlineByName("ELAL").ID, countryDAO.GetCountryByName("Israel").ID, countryDAO.GetCountryByName("Israel").ID, new DateTime(DateTime.Now.Year + 1, 12, 2), new DateTime(DateTime.Now.Year + 1, 12, 3), 30, FlightStatus.NotDeparted));
            flightDAO.Add(new Flight(airlineDAO.GetAirlineByName("ARKIA").ID, countryDAO.GetCountryByName("Israel").ID, countryDAO.GetCountryByName("Israel").ID, new DateTime(DateTime.Now.Year + 1, 12, 2), new DateTime(DateTime.Now.Year + 1, 12, 3), 30, FlightStatus.NotDeparted));

            customerDAO.Add(new Customer("FIRSTNAME", "LASTNAME", "USERNAME", "PASSWORD", "ADDRESS", "PNUMBER", "CNUMBER"));

            ticketDAO.Add(new Ticket(flightDAO.GetAll()[0].ID, customerDAO.GetCustomerByUsername("USERNAME").ID));
            ticketDAO.Add(new Ticket(flightDAO.GetAll()[1].ID, customerDAO.GetCustomerByUsername("USERNAME").ID));

            Assert.AreEqual(2, flightDAO.GetAll().Count);
            Assert.AreEqual(2, ticketDAO.GetAll().Count);

            LoginToken <AirlineCompany> airlineLoggenIn = new LoginToken <AirlineCompany>();

            airlineLoggenIn.user = airlineDAO.GetAirlineByName("ELAL");
            facade.CancelFlight(airlineLoggenIn, flightDAO.GetAll()[0]);
            Assert.AreEqual(1, flightDAO.GetAll().Count);
            Assert.AreEqual(1, ticketDAO.GetAll().Count);
        }