public StatusEndpoint(Scheduler scheduler, SchedulerDatabase db) : base("/status") { Get["/"] = _ => new StatusModel { State = scheduler.State }; Put["/"] = _ => { var status = this.Bind<StatusModel>(); if (status.State == SystemState.ClearData) { db.ClearAll(); } else if (scheduler.State != status.State) { Console.WriteLine("System status set to {0}", status.State); scheduler.State = status.State; } return new StatusModel { UserKey = Program.UserKey, State = scheduler.State }; }; }
public FlightsModule(SchedulerDatabase db, Scheduler scheduler) : base("/flights") { _db = db; _scheduler = scheduler; // Get all flights Get["/"] = _ => _db.Flights .Select(f => new { f.Flight, f.Arrives }); // Add flights Post["/"] = parameters => { throw new NotImplementedException("Delete this line to complete the first stage"); // This API POSTs a list of flights at a time instead of individual flights. var flights = this.Bind<IEnumerable<FlightModel>>().ToList(); _db.AddFlights(flights); // An example of a flight scheduling call. This currently does nothing. foreach (var flight in flights) { _scheduler.ScheduleFlight(flight); } return null; }; }
public FlightsModule(SchedulerDatabase db, Scheduler scheduler) : base("/flights") { _db = db; _scheduler = scheduler; // Get all flights Get["/"] = _ => _db.Flights .Select(f => new { f.Flight, f.Arrives }); // Add flights Post["/"] = parameters => { // This API POSTs a list of flights at a time instead of individual flights. var flights = this.Bind<IEnumerable<FlightModel>>().ToList(); _db.AddFlights(flights); if (_db.Gates.Any()) { foreach (var flight in flights) { _scheduler.ScheduleFlight(flight); } } return null; }; }