private static void SetupAirlineData(List <IFlightBusinessRule> flightBusinessRule) { var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.1 }; var availablePlanes = new List <Plane> { new Plane { Id = 234, Name = "Bombardier Q400", NumberOfSeats = 250 }, new Plane { Id = 345, Name = "Airbus A340", NumberOfSeats = 200 } }; _scheduledFlight = new ScheduledFlight(londonToParis, flightBusinessRule, availablePlanes); _scheduledFlight.SetAircraftForRoute(new Plane { Id = 123, Name = "Antonov AN-2", NumberOfSeats = 12 }); }
private MapPolyline createPolygonLine(FlightRoute item) { MapPolyline result = new MapPolyline(); result.Stroke = Brushes.Black; result.StrokeThickness = 1; result.Opacity = 0.8f; LocationCollection line = new LocationCollection(); line.Add(new Location() { Latitude = item.latOrigin, Longitude = item.lonOrigin }); foreach (TransitLocation trans in item.transitList) { line.Add(new Location() { Latitude = trans.transitLat, Longitude = trans.transitLon }); } line.Add(new Location() { Latitude = item.latDestination, Longitude = item.lonDestination }); result.Locations = line; return(result); }
public void Check_Seat_Availability() { List <Plane> planes = new List <Plane>(); planes.Add(new Plane { Id = 123, Name = "Golden C3P-O", NumberOfSeats = 3 }); planes.Add(new Plane { Id = 124, Name = "Stormtrooper FN-11", NumberOfSeats = 5 }); var madridToPrague = new FlightRoute("Madrid", "Prague") { BaseCost = 80, BasePrice = 150, LoyaltyPointsGained = 10, MinimumTakeOffPercentage = 0.5 }; var scheduledFlight = new ScheduledFlight(madridToPrague); scheduledFlight.SetAircraftForRoute(planes[0]); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "George", Age = 23, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.LoyaltyMember, Name = "Luke", Age = 33, LoyaltyPoints = 1500, IsUsingLoyaltyPoints = true, AllowedBags = 2 }); var seatsTaken = scheduledFlight.Passengers.Count(); Assert.True(scheduledFlight.CheckSeatsTaken(seatsTaken, planes)); }
public int Add(FlightRoute FlightRoute) { //Create a SqlCommand object from connection object SqlCommand cmd = conn.CreateCommand(); //Specify an INSERT SQL statement which will //return the auto-generated StaffID after insertion cmd.CommandText = @"INSERT INTO FlightRoute (DepartureCity, DepartureCountry, ArrivalCity, ArrivalCountry, FlightDuration) OUTPUT INSERTED.RouteID VALUES(@DepartureCity, @DepartureCountry, @ArrivalCity, @ArrivalCountry, @FlightDuration)"; //Define the parameters used in SQL statement, value for each parameter //is retrieved from respective class's property. cmd.Parameters.AddWithValue("@DepartureCity", FlightRoute.DepartureCity); cmd.Parameters.AddWithValue("@DepartureCountry", FlightRoute.DepartureCountry); cmd.Parameters.AddWithValue("@ArrivalCity", FlightRoute.ArrivalCity); cmd.Parameters.AddWithValue("@ArrivalCountry", FlightRoute.ArrivalCountry); cmd.Parameters.AddWithValue("@FlightDuration", FlightRoute.FlightDuration); //A connection to database must be opened before any operations made. conn.Open(); //ExecuteScalar is used to retrieve the auto-generated //StaffID after executing the INSERT SQL statement FlightRoute.RouteID = (int)cmd.ExecuteScalar(); //A connection should be closed after operations. conn.Close(); //Return id when no error occurs. return(FlightRoute.RouteID); }
private static void SetupAirlineData() { _flightRuleService = new FlightRuleService(); _availablePlaneService = new AvailablePlaneService(); _availablePlaneService.Planes = new List <Plane>(); _availablePlaneService.Planes.Add(new Plane { Id = 124, Name = "Bombardier Q400", NumberOfSeats = 15 }); _availablePlaneService.Planes.Add(new Plane { Id = 125, Name = "ATR 640", NumberOfSeats = 20 }); var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; _scheduledFlight = new ScheduledFlight( londonToParis, _flightRuleService, _availablePlaneService); _scheduledFlight.SetAircraftForRoute(new Plane { Id = 123, Name = "Antonov AN-2", NumberOfSeats = 12 }); }
public void Minimum_Percentage_Not_Exceeded() { List <Plane> planes = new List <Plane>(); planes.Add(new Plane { Id = 123, Name = "Golden C3P-O", NumberOfSeats = 6 }); planes.Add(new Plane { Id = 124, Name = "Stormtrooper FN-11", NumberOfSeats = 8 }); var madridToPrague = new FlightRoute("Madrid", "Prague") { BaseCost = 80, BasePrice = 150, LoyaltyPointsGained = 10, MinimumTakeOffPercentage = 0.5 }; var scheduledFlight = new ScheduledFlight(madridToPrague); scheduledFlight.SetAircraftForRoute(planes[0]); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "George", Age = 23, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "Steph", Age = 25, AllowedBags = 1 }); var seatsTaken = scheduledFlight.Passengers.Count(); Assert.False(scheduledFlight.CheckMinPercentageExceeded(seatsTaken)); }
static void Main(string[] args) { Console.WriteLine((Math.Sin(MeasureConverter.ConvertDegreeToRadian(210)))); Console.WriteLine(MeasureConverter.ConvertRadiansToDegrees(Math.Asin(-0.5))); AircraftIdData testData = new AircraftIdData(); //AirTrafficController testController = new AirTrafficController(TrafficControllerType.Approach); var testPilot = new Person("ivan"); Airport testDeparturePort = new Airport("testAirport", new Position3D(0, 0, 1), new Person("disp")); Airport testArrivalPort = new Airport("testAirport2", new Position3D(10, 10, 1), new Person("disp")); Airport newAirport = new Airport("John F. Kennedy International Airport", new Position3D(-90.9187999m, 46.5482781m, 251), new Person("John Kennedy")); FlightRoute testRoute = new FlightRoute(); testRoute.AddFix(new AirspaceFix(new Position3D(2, 2, 2), false, false)); FlightPlan testPlan = new FlightPlan(testDeparturePort, testArrivalPort, new DateTime(), new DateTime(), 10000, testRoute, 100, FlightType.Cargo); Aircraft testAircraft = new Aircraft(testData, 45); var flight = new Flight(testAircraft, testPilot, testPlan, "7382"); Console.WriteLine(flight.CurrentPosition); while (true) { flight.UpdatePosition(); Console.WriteLine(flight.CurrentPosition); System.Threading.Thread.Sleep(3000); } }
private static void FillPlanes() { Aircraft testAirplane = new Aircraft(new AircraftIdData("K7H570BG", "Boeing 737", "Ninja Air", true), 200); Airport testDepartureAirport = new Airport("John F. Kennedy International Airport", new Position3D(-90.9187999m, 46.5482781m, 251), new Person("John Kennedy")); Airport testArrivalAirport = new Airport("Saranak Lake Airport", new Position3D(-74.1m, 44.2m, 251), new Person("Whinston Churchill")); AirspaceFix firstFix = new AirspaceFix(new Position3D(-87.9187999m, 44.5482781m, 251), false, false); AirspaceFix secondFix = new AirspaceFix(new Position3D(-84.9187999m, 45.5482781m, 251), false, false); FlightRoute testRoute = new FlightRoute(); testRoute.AddFix(firstFix); testRoute.AddFix(secondFix); FlightPlan testFlightPlan = new FlightPlan(testDepartureAirport, testArrivalAirport, DateTime.Now, DateTime.Now.AddMinutes(30), 200, testRoute, 10000, FlightType.Scheduled); Flight testFlight = new Flight(testAirplane, new Person("Pesho"), testFlightPlan, "2213"); flights.Add(testFlight); Planes.Add(new Plane { Identification = testFlight.Aircraft.Identification.Id, Speed = testFlight.CurrentSpeed, X = testFlight.CurrentPosition.LongitudeInNauticalMiles / 18, Y = testFlight.CurrentPosition.LatitudeInNauticalMiles / 18, Z = (int)testFlight.CurrentPosition.Altitude, Company = "Pacific Airlines", Destination = "1", // testFlight.FlightPlan.ArrivalAirport.Name, Type = 1 }); }
public async Task StreamWriter_Should_WriteToStream_GiveVlidInput() { // Arrange var mockStreamer = new Mock <IStreamer>(); var flightRoute = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; var plane = new Plane { Id = 123, Name = "Antonov AN-2", NumberOfSeats = 12 }; var flights = new List <Flight>(); var fakeMemoryStream = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(flights))); mockStreamer.Setup(s => s.StreamWriter(It.IsAny <string>())).Returns(() => new StreamWriter(fakeMemoryStream)); var sut = new FileManager <Flight>(mockStreamer.Object); await sut.WriteToJsonAsync("test.txt", flights); mockStreamer.Verify(x => x.StreamWriter(It.IsAny <string>())); }
public void Setup() { _flightRoute = new FlightRoute("London", "Paris") { BasePrice = 100, BaseCost = 50, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.5D }; _planes = new List <IPlane> { new Plane { Id = 123, Name = "36 Bonanza", NumberOfSeats = 6 }, new Plane { Id = 124, Name = "Piper PA-46", NumberOfSeats = 6 }, new Plane { Id = 125, Name = "Cirrus Vision SF50 ", NumberOfSeats = 7 }, new Plane { Id = 126, Name = "Cessna 208 Caravan", NumberOfSeats = 8 }, new Plane { Id = 127, Name = "Antonov AN-2", NumberOfSeats = 12 }, new Plane { Id = 128, Name = "DHC-8-102A", NumberOfSeats = 14 }, new Plane { Id = 129, Name = "Viking DHC 6-400", NumberOfSeats = 19 }, new Plane { Id = 130, Name = "Saab 340", NumberOfSeats = 34 }, new Plane { Id = 131, Name = "Q400", NumberOfSeats = 68 } }; var ruleSet = new List <IRule> { new Rule { RuleName = "Profitable flight", RuleType = RuleType.Profitable, RuleEnabled = true, RulePriority = 1, ResponseCode = "01", ResponseMessage = "Flight not profitable" }, new Rule { RuleName = "Flight Capacity", RuleType = RuleType.Capacity, RuleEnabled = true, RulePriority = 1, ResponseCode = "02", ResponseMessage = "Overbooked flight" }, new Rule { RuleName = "Minimum Occupancy", RuleType = RuleType.MinimumOccupancy, RuleEnabled = true, RulePriority = 1, ResponseCode = "03", ResponseMessage = "Under booked flight" }, new Rule { RuleName = "Airline Staff Override", RuleType = RuleType.AirlineStaffOverride, RuleEnabled = true, RulePriority = 1, ResponseCode = "04", ResponseMessage = "Not enough Airline staff" } }; _scheduledFlight = new ScheduledFlight(_flightRoute, _planes.First(x => x.Id == 127), ruleSet); }
public ScheduleService(IOptions <AppSettings> appSettingsInfo) { _flightRoute = appSettingsInfo.Value.FlightRoute; _aircrafts = appSettingsInfo.Value.Aircrafts; _selectedAircraft = _aircrafts[0]; _relaxRequirements = appSettingsInfo.Value.RelaxRequiremnts; Passengers = new List <Passenger>(); }
public void AddRoutes(FlightRoute goRoute, DateTime backDate) { FlightRoute backRoute = new FlightRoute(); backRoute.ArriveCity = goRoute.DepartCity; backRoute.DepartCity = goRoute.ArriveCity; backRoute.DepartDate = backDate; flight.Routes.Add(goRoute); flight.Routes.Add(backRoute); }
public SingleFlightSearch(DateTime BookDate, FlightRoute route) { flight.SearchType = "S"; flight.Routes = new List<FlightRoute>(); flight.OrderBy = "DepartTime"; flight.IsLowestPrice = "true"; flight.BookDate = BookDate; flight.Routes.Add(route); }
/// <summary> /// Load Flight Route Details /// </summary> public void LoadFlightRouteDetails() { FlightRoute = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; }
public bool Pass(FlightRoute flightRoute, Plane allocatedAircraft, List <Passenger> passengers) { var nonDiscountedProfitFromFlight = passengers.Where(p => p.Type == PassengerType.General || (p.Type == PassengerType.LoyaltyMember && !p.IsUsingLoyaltyPoints)) .Count() * flightRoute.BasePrice; var discountedProfitFromFlight = passengers.Where(p => p.Type == PassengerType.Discounted) .Count() * flightRoute.BasePrice / 2D; return(nonDiscountedProfitFromFlight + discountedProfitFromFlight - flightRoute.BaseCost > 0); }
public FlightRoute LoadFlightRoute() { var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; return(londonToParis); }
private Pushpin createOriginPin(FlightRoute item) { Pushpin originPin = new Pushpin(); originPin.Background = Brushes.Green; originPin.Location = new Location(); originPin.Location.Latitude = item.latOrigin; originPin.Location.Longitude = item.lonOrigin; originPin.ToolTip = item.originName; return(originPin); }
private static void SetupAirlineData() { var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; _scheduledFlight = new ScheduledFlight(londonToParis); _scheduledFlight.SetAircraftForRoute(_planes[0]); }
public void Profit_Surplus_Is_Negative_But_Airline_Employees_Exceed_Minimum_Percentage() { var madridToPrague = new FlightRoute("Madrid", "Prague") { BaseCost = 80, BasePrice = 150, LoyaltyPointsGained = 10, MinimumTakeOffPercentage = 0.3 }; var scheduledFlight = new ScheduledFlight(madridToPrague); scheduledFlight.SetAircraftForRoute(new Plane { Id = 124, Name = "Vader Darth-87", NumberOfSeats = 10 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.AirlineEmployee, Name = "John", Age = 32, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.AirlineEmployee, Name = "Jen", Age = 28, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.AirlineEmployee, Name = "Tom", Age = 47, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.LoyaltyMember, Name = "Mike", Age = 26, LoyaltyPoints = 1500, IsUsingLoyaltyPoints = true, AllowedBags = 2 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.LoyaltyMember, Name = "Pan", Age = 56, LoyaltyPoints = 500, IsUsingLoyaltyPoints = false, AllowedBags = 2 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.AirlineEmployee, Name = "Natalie", Age = 30, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.Discounted, Name = "Chris", Age = 38, AllowedBags = 0 }); var costOfFlight = scheduledFlight.Passengers.Count * madridToPrague.BaseCost; var totalPriceForGeneral = scheduledFlight.Passengers.Where(p => p.Type == PassengerType.General).Count() * madridToPrague.BasePrice; var totalPriceForNonUsingLoyaltyPoints = scheduledFlight.Passengers.Where(p => p.Type == PassengerType.LoyaltyMember && p.IsUsingLoyaltyPoints == false).Count() * madridToPrague.BasePrice; var totalPriceForDiscounted = (scheduledFlight.Passengers.Where(p => p.Type == PassengerType.Discounted).Count() * madridToPrague.BasePrice) / 2; var profitFromFlight = (totalPriceForGeneral + totalPriceForNonUsingLoyaltyPoints + totalPriceForDiscounted) - costOfFlight; var seatsTaken = scheduledFlight.Passengers.Count(); Assert.True(scheduledFlight.CheckProfitSurplus(profitFromFlight)); }
private Pushpin createDestinationPin(FlightRoute item) { Pushpin destinationPin = new Pushpin(); destinationPin.Background = Brushes.Red; destinationPin.Location = new Location() { Latitude = item.latDestination, Longitude = item.lonDestination }; destinationPin.ToolTip = item.destinationName; return(destinationPin); }
private static void SetupAirlineData() { var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; _scheduledFlight = new ScheduledFlight(londonToParis); _scheduledFlight.SetAircraftForRoute(new Plane { Id = 123, Name = "Antonov AN-2", NumberOfSeats = 12 }); }
public ActionResult Create(FlightRoute FlightRoute) { //in case of the need to return to Create.cshtml view if (ModelState.IsValid) { //Add staff record to database FlightRoute.RouteID = flightrouteContext.Add(FlightRoute); //Redirect user to FlightRoute/Index view return(RedirectToAction("Index")); } else { //Input validation fails, return to the Create view //to display error message return(View(FlightRoute)); } }
private static void Setup() { var londonToParis = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; _scheduledFlight = new ScheduledFlight( londonToParis, Container.GetInstance <ISummaryBuilder>(), Container.GetInstance <ISummaryOutputGenerator>(), Container.GetInstance <IFleetRepository>()); _scheduledFlight.SetAircraftForRoute(123); }
public void Calculate_Loyalty_Points() { var madridToPrague = new FlightRoute("Madrid", "Prague") { BaseCost = 80, BasePrice = 150, LoyaltyPointsGained = 10, MinimumTakeOffPercentage = 0.5 }; var scheduledFlight = new ScheduledFlight(madridToPrague); scheduledFlight.SetAircraftForRoute(new Plane { Id = 124, Name = "Vader Darth-87", NumberOfSeats = 10 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "John", Age = 32, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "Jen", Age = 28, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.General, Name = "Tom", Age = 47, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.LoyaltyMember, Name = "Mike", Age = 26, LoyaltyPoints = 1500, IsUsingLoyaltyPoints = true, AllowedBags = 2 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.LoyaltyMember, Name = "Pan", Age = 56, LoyaltyPoints = 500, IsUsingLoyaltyPoints = false, AllowedBags = 2 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.AirlineEmployee, Name = "Natalie", Age = 30, AllowedBags = 1 }); scheduledFlight.Passengers.Add(new Passenger { Type = PassengerType.Discounted, Name = "Chris", Age = 38, AllowedBags = 0 }); var totalLoyaltyPointsAccrued = scheduledFlight.Passengers.Where(p => p.Type == PassengerType.LoyaltyMember && p.IsUsingLoyaltyPoints == false).Count() * madridToPrague.LoyaltyPointsGained; var totalLoyaltyPointsRedeemed = scheduledFlight.Passengers.Where(p => p.Type == PassengerType.LoyaltyMember && p.IsUsingLoyaltyPoints == true).Count() * madridToPrague.BasePrice;; Assert.Equal(10, totalLoyaltyPointsAccrued); Assert.Equal(150, totalLoyaltyPointsRedeemed); }
// TODO: Add method changeArrivalAirport() // TODO: Add method recalculateEstimatedArrivalDateTime() public FlightPlan( Airport departureAirport, Airport arrivalAirport, DateTime departureDateTime, DateTime estimatedArrivalDateTime, int preplannedSpeed, FlightRoute preplannedRoute, int enRouteAltitude, FlightType type) { this.DepartureAirport = departureAirport; this.ArrivalAirport = arrivalAirport; this.DepartureDateTime = departureDateTime; this.EstimatedArrivalDateTime = estimatedArrivalDateTime; this.PreplannedSpeed = preplannedSpeed; this.PreplannedRoute = preplannedRoute; this.EnRouteAltitude = enRouteAltitude; this.Type = type; }
public IntlSingleFlightSearch(FlightRoute route) { flight.TripType = TripType.OW; flight.PassengerType = PassengerType.ADT; flight.PassengerCount = 1; flight.ClassGrade = SeatGrade.Y; flight.SalesType = SalesType.Online; flight.FareType = FareType.All; flight.ResultMode = ResultMode.LowestPrice; flight.OrderBy = OrderBy.Price; flight.Direction = Direction.Asc; SegmentInfo segmentinfo = new SegmentInfo(); segmentinfo.DCode = route.DepartCity; segmentinfo.ACode = route.ArriveCity; segmentinfo.DDate = (DateTime) route.DepartDate; segmentinfo.TimePeriod = "0000-2400"; flight.SegmentInfos.Add(segmentinfo); }
public ActionResult Create(FlightSchedule flightSchedule) { //Get country list for drop-down list //in case of the need to return to Create.cshtml view ViewData["routeIDList"] = flightRouteContext.GetRouteIDs(); ViewData["aircraftIDList"] = flightRouteContext.GetAircraftIDs(); if (ModelState.IsValid) { FlightRoute flightRoute = flightRouteContext.GetDetails(flightSchedule.RouteID); //Add staff record to database flightSchedule.ScheduleID = flightScheduleContext.Add(flightSchedule, flightRoute.FlightDuration); //Redirect user to Staff/Index view return(RedirectToAction("Index")); } else { //Input validation fails, return to the Create view //to display error message return(View(flightSchedule)); } }
public bool Get(double profitSurplus, double costOfFlight, int seatsTaken, int employeesAboard, Plane Aircraft, FlightRoute FlightRoute) { if (seatsTaken < Aircraft.NumberOfSeats) { switch (_fluightRule) { case FlightRule.Primary: { if (profitSurplus > 0 && seatsTaken / (double)Aircraft.NumberOfSeats > FlightRoute.MinimumTakeOffPercentage) { return(true); } break; } case FlightRule.Secondary: { if (profitSurplus > costOfFlight && employeesAboard / (double)Aircraft.NumberOfSeats > FlightRoute.MinimumTakeOffPercentage) { return(true); } } break; default: { return(false); } } } return(false); }
public async Task StreamReader_Should_GetValidFlightListFromStream() { // Arrange var mockStreamer = new Mock <IStreamer>(); var flightRoute = new FlightRoute("London", "Paris") { BaseCost = 50, BasePrice = 100, LoyaltyPointsGained = 5, MinimumTakeOffPercentage = 0.7 }; var plane = new Plane { Id = 123, Name = "Antonov AN-2", NumberOfSeats = 12 }; var flights = new List <Flight>() { new Flight() { Id = 1, Passengers = new List <Passenger>(), FlightRoute = flightRoute, Plane = plane, } }; var fakeMemoryStream = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(flights))); mockStreamer.Setup(s => s.StreamReader(It.IsAny <string>())).Returns(() => new StreamReader(fakeMemoryStream)); var sut = new FileManager <Flight>(mockStreamer.Object); // Acts var result = await sut.ReadFromJsonAsync("test.txt"); Assert.NotEmpty(result); }
public void AddRoutes(FlightRoute goRoute, DateTime departDate, DateTime backDate) { FlightRoute backRoute = new FlightRoute(); backRoute.ArriveCity = goRoute.DepartCity; backRoute.DepartCity = goRoute.ArriveCity; backRoute.DepartDate = backDate; SegmentInfo goSegmentinfo = new SegmentInfo(); goSegmentinfo.DCode = goRoute.DepartCity; goSegmentinfo.ACode = goRoute.ArriveCity; goSegmentinfo.DDate = departDate; goSegmentinfo.TimePeriod = "0000-2400"; SegmentInfo backSegmentinfo = new SegmentInfo(); backSegmentinfo.ACode = backRoute.ArriveCity; backSegmentinfo.DCode = backRoute.DepartCity; backSegmentinfo.DDate = backDate; backSegmentinfo.TimePeriod = "0000-2400"; flight.SegmentInfos.Add(goSegmentinfo); flight.SegmentInfos.Add(backSegmentinfo); }
public ActionResult Create(FlightRoute flightRoute) { if (flightRoute.FlightDuration > 18) { TempData["TooLong"] = "Flight Duration cannot exceed 18 hours"; return(View()); } if (flightRoute.DepartureCountry.All(char.IsDigit) || flightRoute.DepartureCity.All(char.IsDigit) || flightRoute.ArrivalCountry.All(char.IsDigit) || flightRoute.ArrivalCity.All(char.IsDigit)) { TempData["Invalid"] = "Arrival/Departure Country/City is invalid"; return(View()); } foreach (FlightRoute fr in flightRouteContext.GetAllFlightRoute()) { if (fr.ArrivalCity == flightRoute.ArrivalCity && fr.ArrivalCountry == flightRoute.ArrivalCountry && fr.DepartureCity == flightRoute.DepartureCity && fr.DepartureCountry == flightRoute.DepartureCountry) { TempData["Exists"] = "Flight route already exists"; return(View()); } } flightRoute.RouteId = flightRouteContext.GetAllFlightRoute().Count + 1; if (ModelState.IsValid) { flightRouteContext.Add(flightRoute); TempData["route_success"] = "Successfully created new route"; } else { TempData["route_failure"] = "New route not created"; } return(RedirectToAction("Index", "Admin")); }
public FlightRoute GetDetails(int routeID) { FlightRoute flightRoute = new FlightRoute(); //Create a SqlCommand object from connection object SqlCommand cmd = conn.CreateCommand(); //Specify the SELECT SQL statement that //retrieves all attributes of a staff record. cmd.CommandText = @"SELECT * FROM FlightRoute WHERE RouteID = @selectRouteID"; //Define the parameter used in SQL statement, value for the //parameter is retrieved from the method parameter “staffId”. cmd.Parameters.AddWithValue("@selectRouteID", routeID); //Open a database connection conn.Open(); //Execute SELCT SQL through a DataReader SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { //Read the record from database while (reader.Read()) { // Fill staff object with values from the data reader flightRoute.RouteID = routeID; flightRoute.DepartureCity = !reader.IsDBNull(1) ? reader.GetString(1) : null; flightRoute.DepartureCountry = !reader.IsDBNull(2) ? reader.GetString(2) : null; flightRoute.ArrivalCity = !reader.IsDBNull(3) ? reader.GetString(3) : null; flightRoute.ArrivalCountry = !reader.IsDBNull(4) ? reader.GetString(4) : null; flightRoute.FlightDuration = !reader.IsDBNull(5) ? reader.GetInt32(5) : 0; } } //Close data reader reader.Close(); //Close database connection conn.Close(); return(flightRoute); }
public void Add(FlightRoute flightRoute) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"insert into flightRoute (DepartureCity, DepartureCountry, ArrivalCity, ArrivalCountry, FlightDuration) values(@departureCity, @departureCountry, @arrivalCity, @arrivalCountry, @flightDuration)"; cmd.Parameters.AddWithValue("@departureCity", flightRoute.DepartureCity); cmd.Parameters.AddWithValue("@departureCountry", flightRoute.DepartureCountry); cmd.Parameters.AddWithValue("@arrivalCity", flightRoute.ArrivalCity); cmd.Parameters.AddWithValue("@arrivalCountry", flightRoute.ArrivalCountry); if (flightRoute.FlightDuration == null) { cmd.Parameters.AddWithValue("@flightDuration", DBNull.Value); } else { cmd.Parameters.AddWithValue("@flightDuration", flightRoute.FlightDuration); } conn.Open(); cmd.ExecuteScalar(); conn.Close(); }
public FlightService(FlightRoute route) { FlightRoute = route; }
//设置国外往返机票搜索信息 public IntlFlightResponseList SearchIntlRoundTripFlight(String _departCity, String _arriveCity, DateTime _departDate, DateTime _backDate) { //搜索出发机票 FlightRoute goRoute = new FlightRoute(); CityCodeTranslator cct = new CityCodeTranslator(); goRoute.DepartCity = cct.TranslateToCode(_departCity); goRoute.ArriveCity = cct.TranslateToCode(_arriveCity); goRoute.DepartDate = _departDate;//出发日期 IntlRoundFlightSearch irfs = new IntlRoundFlightSearch(); irfs.AddRoutes(goRoute, _departDate, _backDate);//返程日期 irfs.SetReturnEntity(apiCallProxy); IntlFlightResponse ifr = this.GenerateResultsFromIntl(irfs.returnEntity); //搜索返程机票 irfs.AddRouting(ifr.GetFlightReponseData()[0].Routings); irfs.SetShoppingInfoID(ifr.GetFlightReponseData()[0].ShoppingInfoID); irfs.SetReturnEntity(apiCallProxy); IntlFlightResponse ifr2 = this.GenerateResultsFromIntl(irfs.returnEntity); IntlFlightResponseList ifrl = new IntlFlightResponseList(); ifrl.SetFlightResponse(ifr); ifrl.SetFlightResponse(ifr2); this.GenerateXmlFileFromIntl(ifrl); /* IntlFlightResponseList result = new IntlFlightResponseList(); IntlFlightResponse response = new IntlFlightResponse(); IntlFlightResponse response2 = new IntlFlightResponse(); response.SetFlightResponseData(ifr.GetFlightReponseData()[0]); response.SetFlightResponseData(ifr2.GetFlightReponseData()[0]); result.SetFlightResponse(response); result.SetFlightResponse(response2); */ return ifrl; }
//设置国外单程机票搜索信息 public IntlFlightResponseList SearchIntlOneWayFlight(String _departCity, String _arriveCity, DateTime _departDate) { FlightRoute route = new FlightRoute(); CityCodeTranslator cct = new CityCodeTranslator(); route.DepartCity = cct.TranslateToCode(_departCity); route.ArriveCity = cct.TranslateToCode(_arriveCity); route.DepartDate = _departDate;//出发日期 IntlSingleFlightSearch isfs = new IntlSingleFlightSearch(route); isfs.SetReturnEntity(apiCallProxy); IntlFlightResponse ifr = this.GenerateResultsFromIntl(isfs.returnEntity); IntlFlightResponseList ifrl = new IntlFlightResponseList(); ifrl.SetFlightResponse(ifr); this.GenerateXmlFileFromIntl(ifrl); /* IntlFlightResponseList result = new IntlFlightResponseList(); IntlFlightResponse response = new IntlFlightResponse(); response.SetFlightResponseData(ifr.GetFlightReponseData()[0]); result.SetFlightResponse(response); */ return ifrl; }
//设置国内往返机票搜索信息 public FlightResponseList SearchDmstRoundTripFlight(String _departCity, String _arriveCity, DateTime _departDate, DateTime _backDate) { FlightRoute goRoute = new FlightRoute(); CityCodeTranslator cct = new CityCodeTranslator(); goRoute.DepartCity = cct.TranslateToCode(_departCity); goRoute.ArriveCity = cct.TranslateToCode(_arriveCity); goRoute.DepartDate = _departDate;//出发日期 RoundFlightSearch rfs = new RoundFlightSearch(new DateTime(2013, 2, 20));//订票日期 rfs.AddRoutes(goRoute, _backDate);//返程日期 rfs.SetReturnEntity(apiCallProxy); FlightResponseList frl = this.GenerateResultsFromDmst(rfs.returnEntity); /* FlightResponseList result = new FlightResponseList(); FlightResponse response = new FlightResponse(); FlightResponse response2 = new FlightResponse(); response.SetFlightResponseData(frl.GetFlightReponse()[0].GetFlightReponseData()[0]); result.SetFlightResponse(response); response2.SetFlightResponseData(frl.GetFlightReponse()[1].GetFlightReponseData()[0]); result.SetFlightResponse(response2);*/ return frl; }
//设置国内单程机票搜索信息 returnEntity public FlightResponseList SearchDmstOneWayFlight(String _departCity, String _arriveCity, DateTime _departDate) { FlightRoute route = new FlightRoute(); CityCodeTranslator cct = new CityCodeTranslator(); route.DepartCity = cct.TranslateToCode(_departCity); route.ArriveCity = cct.TranslateToCode(_arriveCity); route.DepartDate = _departDate;//出发日期 SingleFlightSearch sfs = new SingleFlightSearch(new DateTime(), route);//订票日期 sfs.SetReturnEntity(apiCallProxy); FlightResponseList frl = this.GenerateResultsFromDmst(sfs.returnEntity); /* FlightResponseList result = new FlightResponseList(); FlightResponse response = new FlightResponse(); response.SetFlightResponseData(frl.GetFlightReponse()[0].GetFlightReponseData()[0]); result.SetFlightResponse(response);*/ return frl; }