Wersja probna

powinno cos dzialac
This commit is contained in:
Witkopawel
2025-04-30 12:40:59 +02:00
parent 74b69f045d
commit 470ce72b6a
12 changed files with 332 additions and 141 deletions

View 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();
}
}
}