using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using System.Data.SqlClient; using Server.Models; namespace Server.Controllers; [ApiController] [Route("[controller]")] public class LapController : ControllerBase { private readonly ILogger _logger; private SpaceRaceDbContext _db; public LapController(ILogger logger, SpaceRaceDbContext db) { _logger = logger; _db = db; } [HttpGet()] public IEnumerable Get() { return _db.Laps.Select(c => new LapDTO { Id = c.Id, UserId = c.UserId, Map = c.Map, Time = c.Time, Created = c.Created, }); } [HttpPost()] public async Task Post(LapDTO dto) { Lap existing = _db.Laps .SingleOrDefault(l => l.UserId == dto.UserId && l.Map == dto.Map); Lap v = new Lap { Id = Guid.NewGuid(), UserId = dto.UserId, Map = dto.Map, Time = dto.Time, Created = DateTimeOffset.UtcNow, }; _db.Laps.Add(v); await _db.SaveChangesAsync(); return v; } }