namespace IOL.GreatOffice.Api.Endpoints.V1.Entries; /// public class DeleteEntryRoute : RouteBaseSync.WithRequest.WithActionResult { private readonly AppDbContext _context; /// public DeleteEntryRoute(AppDbContext context) { _context = context; } /// /// Delete a time entry. /// /// /// [ApiVersion(ApiSpecV1.VERSION_STRING)] [BasicAuthentication(AppConstants.TOKEN_ALLOW_DELETE)] [HttpDelete("~/v{version:apiVersion}/entries/{id:guid}/delete")] [ProducesResponseType(404)] [ProducesResponseType(200)] public override ActionResult Handle(Guid id) { var entry = _context.TimeEntries .Where(c => c.UserId == LoggedInUser.Id) .SingleOrDefault(c => c.Id == id); if (entry == default) { return NotFound(); } _context.TimeEntries.Remove(entry); _context.SaveChanges(); return Ok(); } }