コード例 #1
0
        public void AirlineFacadeUpdateFlightMethod()
        {
            ILoggedInAdministratorFacade adminFacade = (ILoggedInAdministratorFacade)TestConfig.fcs.Login(AirlineProjectConfig.ADMIN_USERNAME, AirlineProjectConfig.ADMIN_PASSWORD, out ILoginToken adminToken);

            adminFacade.CreateNewAirline((LoginToken <Administrator>)adminToken, TestData.airline1);

            Flight flight1 = new Flight(0, 0, TestData.argentinaID, TestData.barbadosID, TestData.futureDate1, TestData.futureDate2, 200);

            ILoggedInAirlineFacade airlineFacade1 = (ILoggedInAirlineFacade)TestConfig.fcs.Login(TestData.airline1.UserName, TestData.airline1.Password, out ILoginToken airlineToken1);

            airlineFacade1.CreateFlight((LoginToken <AirlineCompany>)airlineToken1, flight1);
            Flight updatedFlight = new Flight(flight1.ID, flight1.AirlineCompanyId, TestData.chadID, TestData.denmarkID, TestData.futureDate1, TestData.futureDate2, 199);

            airlineFacade1.UpdateFlight((LoginToken <AirlineCompany>)airlineToken1, updatedFlight);

            IAnonymousUserFacade anonymousFacade = (IAnonymousUserFacade)TestConfig.fcs.Login("testAnonymous", "99999", out ILoginToken anonymousToken);
            Flight actualFlight = anonymousFacade.GetFlight(flight1.ID);

            Assert.AreEqual(updatedFlight.ID, actualFlight.ID);
            Assert.AreEqual(updatedFlight.AirlineCompanyId, actualFlight.AirlineCompanyId);
            Assert.AreEqual(updatedFlight.OriginCountryCode, actualFlight.OriginCountryCode);
            Assert.AreEqual(updatedFlight.DestinationCountryCode, actualFlight.DestinationCountryCode);
            Assert.AreEqual(updatedFlight.DepartureTime, actualFlight.DepartureTime);
            Assert.AreEqual(updatedFlight.LandingTime, actualFlight.LandingTime);
            Assert.AreEqual(updatedFlight.RemainingTickets, actualFlight.RemainingTickets);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public async Task <ActionResult> UpdateFlight([FromBody] AirlineFlightDTO airlineFlightDTO)
        {
            LoginToken <AirlineCompany> token = GetLoginToken();
            Flight flight = m_mapper.Map <Flight>(airlineFlightDTO);

            try
            {
                await Task.Run(() => m_facade.UpdateFlight(token, flight));
            }
            catch (Exception ex)
            {
                return(StatusCode(400, $"{{ error: \"{ex.Message}\" }}"));
            }
            return(Ok());
        }
コード例 #4
0
        public IActionResult UpdateFlight(long id, UpdateFlightDTO updateFlightDTO)
        {
            LoginToken <AirlineCompany> airline_token = DesirializeToken();

            if (id == 0)
            {
                return(NotFound());
            }

            if (id != updateFlightDTO.Id)
            {
                return(BadRequest());
            }

            Flight flight = _mapper.Map <Flight>(updateFlightDTO);

            Flight original_flight = _loggedInAirlineFacade.GetFlightById(flight.Id);

            if (original_flight == null)
            {
                return(NotFound());
            }

            if (original_flight.AirlineCompany != airline_token.User)
            {
                return(Forbid());
            }

            flight.AirlineCompany = airline_token.User;

            try
            {
                _loggedInAirlineFacade.UpdateFlight(airline_token, flight);
            }
            catch (NotAllowedAirlineActionException)//might be irrelevant, we are checking it here also
            {
                return(Forbid());
            }
            catch (RelatedRecordNotExistsException)
            {
                return(NotFound());
            }

            return(NoContent());
        }
コード例 #5
0
        public IHttpActionResult UpdateFlight(int id, [FromBody] Flight flight)
        {
            GetLoginToken();
            if (airlineCompanyLoginToken == null)
            {
                return(Unauthorized());
            }
            FlyCenter = FlyingCenterSystem.GetInstance();
            ILoggedInAirlineFacade airlineFacade = FlyCenter.GetFacede(airlineCompanyLoginToken) as ILoggedInAirlineFacade;

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