RaceLapTimer/RaceLapTimer/RaceLapTimer/ApiControllers/RaceSessionApiModule.cs

37 lines
1.1 KiB
C#

using System.Collections.Generic;
using Interfaces;
using Nancy;
using Nancy.ModelBinding;
namespace RaceLapTimer.ApiControllers
{
public class RaceSessionApiModule:NancyModule
{
private readonly IDbProvider _provider;
public RaceSessionApiModule(IDbProvider provider) : base("/api/racesession")
{
_provider = provider;
Get[""] = args => GetRaceSessions();
Post["/create"] = args => CreateRaceSession(args);
Get["/historic"] = args => GetHistoricRaceSessions();
}
private dynamic GetHistoricRaceSessions()
{
var sessions = _provider.GetRaceSessions(false);
return Response.AsJson(new {data= sessions});
}
private dynamic GetRaceSessions()
{
var sessions = _provider.GetRaceSessions(true);
return Response.AsJson(new {data= sessions});
}
private dynamic CreateRaceSession(dynamic args)
{
var postObject = this.Bind<RaceSession>();
return Response.AsRedirect("/racedirector");
}
}
}