mirror of
https://github.com/GCMatters/hermes.git
synced 2026-02-04 13:40:13 +01:00
Wersja probna
powinno cos dzialac
This commit is contained in:
89
WebApp/Controllers/EventApiController.cs
Normal file
89
WebApp/Controllers/EventApiController.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection.Metadata;
|
||||
using WebApp.Data;
|
||||
using WebApp.Entities;
|
||||
|
||||
namespace WebApp.Controllers.Api
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/events")]
|
||||
public class EventsApiController : ControllerBase
|
||||
{
|
||||
private readonly ApplicationDbContext _context;
|
||||
|
||||
public EventsApiController(ApplicationDbContext context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
// GET: /api/events
|
||||
[HttpGet]
|
||||
public IActionResult GetAll()
|
||||
{
|
||||
var events = _context.Events.ToList();
|
||||
return Ok(events);
|
||||
}
|
||||
|
||||
// GET: /api/events/5
|
||||
[HttpGet("{id}")]
|
||||
public IActionResult GetById(int id)
|
||||
{
|
||||
var ev = _context.Events.Find(id);
|
||||
if (ev == null)
|
||||
return NotFound();
|
||||
|
||||
return Ok(ev);
|
||||
}
|
||||
|
||||
// POST: /api/events
|
||||
[HttpPost]
|
||||
public IActionResult Create([FromBody] Event ev)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(ModelState);
|
||||
|
||||
ev.EventDate = DateTime.SpecifyKind(ev.EventDate, DateTimeKind.Utc);
|
||||
|
||||
_context.Events.Add(ev);
|
||||
_context.SaveChanges();
|
||||
|
||||
return CreatedAtAction(nameof(GetById), new { id = ev.EventId }, ev);
|
||||
}
|
||||
|
||||
// PUT: /api/events/5
|
||||
[HttpPut("{id}")]
|
||||
public IActionResult Update(int id, [FromBody] Event updated)
|
||||
{
|
||||
if (id != updated.EventId)
|
||||
return BadRequest("ID w URL nie zgadza się z obiektem.");
|
||||
|
||||
var ev = _context.Events.Find(id);
|
||||
if (ev == null)
|
||||
return NotFound();
|
||||
|
||||
ev.Title = updated.Title;
|
||||
ev.Description = updated.Description;
|
||||
ev.Location = updated.Location;
|
||||
ev.EventDate = updated.EventDate;
|
||||
ev.OrganisationId = updated.OrganisationId;
|
||||
|
||||
_context.SaveChanges();
|
||||
return NoContent();
|
||||
}
|
||||
|
||||
// DELETE: /api/events/5
|
||||
[HttpDelete("{id}")]
|
||||
public IActionResult Delete(int id)
|
||||
{
|
||||
var ev = _context.Events.Find(id);
|
||||
if (ev == null)
|
||||
return NotFound();
|
||||
|
||||
_context.Events.Remove(ev);
|
||||
_context.SaveChanges();
|
||||
|
||||
return NoContent();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user