37 lines
1.1 KiB
C#
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");
|
|
}
|
|
}
|
|
} |