public void AirlineCompanyFacadeFacade_UpdateFlight_FlightUpdated()
        {
            Flight updatedFlight = null;

            InitDBUnitTest.InitDB();
            Flight flight1 = AirlineCompanyFacadeFacade_CreateNewFlight1();
            ILoggedInAirlineFacade airlineCompanyFacade = GetAirlineCompanyFacade(out LoginToken <AirlineCompany> tAirlineCompany);

            updatedFlight    = new Flight();
            updatedFlight.ID = flight1.ID;
            updatedFlight.AIRLINECOMPANY_ID        = flight1.AIRLINECOMPANY_ID;
            updatedFlight.ORIGIN_COUNTRY_CODE      = flight1.ORIGIN_COUNTRY_CODE;
            updatedFlight.DESTINATION_COUNTRY_CODE = flight1.DESTINATION_COUNTRY_CODE;
            updatedFlight.DEPARTURE_TIME           = TestResource.AirlineCompanyFacade_UpdateFlightDetail_DEPARTURE_TIME;
            updatedFlight.LANDING_TIME             = TestResource.AirlineCompanyFacade_UpdateFlightDetail_LANDING_TIME;
            updatedFlight.REMANING_TICKETS         = TestResource.AirlineCompanyFacade_UpdateFlightDetail_REMANING_TICKETS;
            updatedFlight.TOTAL_TICKETS            = TestResource.AirlineCompanyFacade_UpdateFlightDetail_TOTAL_TICKETS;
            airlineCompanyFacade.UpdateFlight(tAirlineCompany, updatedFlight);
            Flight f = airlineCompanyFacade.GetFlightByFlightId(tAirlineCompany, updatedFlight.ID);

            Assert.AreNotEqual(null, f);
            Assert.AreEqual(updatedFlight.ID, f.ID);
            Assert.AreEqual(updatedFlight.AIRLINECOMPANY_ID, f.AIRLINECOMPANY_ID);
            Assert.AreEqual(updatedFlight.ORIGIN_COUNTRY_CODE, f.ORIGIN_COUNTRY_CODE);
            Assert.AreEqual(updatedFlight.DESTINATION_COUNTRY_CODE, f.DESTINATION_COUNTRY_CODE);
            Assert.AreEqual(updatedFlight.LANDING_TIME, f.LANDING_TIME);
            Assert.AreEqual(updatedFlight.DEPARTURE_TIME, f.DEPARTURE_TIME);
            Assert.AreEqual(updatedFlight.REMANING_TICKETS, f.REMANING_TICKETS);
            Assert.AreEqual(updatedFlight.TOTAL_TICKETS, f.TOTAL_TICKETS);
        }
        public IHttpActionResult RemoveFlight([FromUri] long flightId)
        {
            IHttpActionResult res    = null;
            Flight            flight = null;

            GetLoginToken();
            if (airlineCompanyLoginToken == null)
            {
                return(Unauthorized());
            }
            FCS = FlyingCenterSystem.GetFlyingCenterSystemInstance();
            ILoggedInAirlineFacade airlineCompanyFacade = FCS.GetFacade(airlineCompanyLoginToken) as ILoggedInAirlineFacade;

            try
            {
                flight = airlineCompanyFacade.GetFlightByFlightId(airlineCompanyLoginToken, flightId);
                if (flight != null)
                {
                    airlineCompanyFacade.CancelFlight(airlineCompanyLoginToken, flight);
                    res = Ok($"Flight with ID = {flightId} not found");
                }
            }
            catch (Exception e1)
            {
                res = BadRequest("Flight hasn't been deleted " + e1.Message);
            }
            return(res);
        }
        public void AirlineCompanyFacadeFacade_CancelFlight_FlightCanceled()
        {
            InitDBUnitTest.InitDB();
            Flight flight1 = AirlineCompanyFacadeFacade_CreateNewFlight1();
            ILoggedInAirlineFacade airlineCompanyFacade = GetAirlineCompanyFacade(out LoginToken <AirlineCompany> tAirlineCompany);

            airlineCompanyFacade.CancelFlight(tAirlineCompany, flight1);
            Flight flight2 = airlineCompanyFacade.GetFlightByFlightId(tAirlineCompany, flight1.ID);

            Assert.AreEqual(null, flight2);
        }
        public IHttpActionResult CreateNewFlight([FromBody] Flight flight)
        {
            GetLoginToken();
            if (airlineCompanyLoginToken == null)
            {
                return(Unauthorized());
            }
            FCS = FlyingCenterSystem.GetFlyingCenterSystemInstance();
            ILoggedInAirlineFacade airlineCompanyFacade = FCS.GetFacade(airlineCompanyLoginToken) as ILoggedInAirlineFacade;
            long flightId = airlineCompanyFacade.CreateFlight(airlineCompanyLoginToken, flight);

            flight = airlineCompanyFacade.GetFlightByFlightId(airlineCompanyLoginToken, flightId);
            return(CreatedAtRoute("createflight", new { id = flightId }, flight));
        }
        public void AirlineCompanyFacadeFacade_CreateNewFlight_FlightAdded()
        {
            Flight newFlight = null;

            InitDBUnitTest.InitDB();
            Flight flight = AirlineCompanyFacadeFacade_CreateNewFlight1();
            ILoggedInAirlineFacade airlineCompanyFacade = GetAirlineCompanyFacade(out LoginToken <AirlineCompany> t);

            newFlight    = CreateNewFlight1();
            newFlight.ID = flight.ID;
            newFlight.AIRLINECOMPANY_ID        = flight.AIRLINECOMPANY_ID;
            newFlight.ORIGIN_COUNTRY_CODE      = flight.ORIGIN_COUNTRY_CODE;
            newFlight.DESTINATION_COUNTRY_CODE = flight.DESTINATION_COUNTRY_CODE;
            Flight f = airlineCompanyFacade.GetFlightByFlightId(t, newFlight.ID);

            Assert.AreNotEqual(null, f);
            Assert.AreEqual(newFlight, f);
        }
        public IHttpActionResult UpdateFlight(int id, [FromBody] Flight flight)
        {
            GetLoginToken();
            if (airlineCompanyLoginToken == null)
            {
                return(Unauthorized());
            }
            FCS = FlyingCenterSystem.GetFlyingCenterSystemInstance();
            ILoggedInAirlineFacade airlineCompanyFacade = FCS.GetFacade(airlineCompanyLoginToken) as ILoggedInAirlineFacade;

            flight = airlineCompanyFacade.GetFlightByFlightId(airlineCompanyLoginToken, id);
            if (flight == null)
            {
                return(BadRequest("Id not found"));
            }
            else
            {
                airlineCompanyFacade.UpdateFlight(airlineCompanyLoginToken, flight);
                return(Ok($"Flight ID = {id} updated"));
            }
        }