Files
work/Strela/Controllers/ObjectController.cs
T
astankovmi 6d61bce884
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 12s
Добавил wizard
2026-07-08 16:19:15 +03:00

83 lines
2.2 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Strela.Models;
using Strela.Services;
namespace Strela.Controllers;
[ApiController]
[Route("api/[controller]")]
public class ObjectController : ControllerBase
{
private readonly ILogger<ObjectController> _logger;
public ObjectController(ILogger<ObjectController> logger)
{
_logger = logger;
}
//=========================== GET =================================//
[HttpGet("GetObject")]
public IActionResult GetList()
{
using (var db = new SQLiteService())
{
var oi = db.ObjectItems.ToList();
return Ok(oi);
}
}
[HttpGet("GetObjectById")]
[ProducesResponseType<ObjectItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetById(int id)
{
using (var db = new SQLiteService())
{
var o = db.ObjectItems.Where(o => o.Id == id).FirstOrDefault();
if (o != null)
return Ok(o);
else return NoContent();
}
}
[HttpGet("GetObjectByName")]
[ProducesResponseType<ObjectItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetByName(string name)
{
using (var db = new SQLiteService())
{
var o = db.ObjectItems.Where(ob => ob.NameObject == name).FirstOrDefault();
if (o != null)
return Ok(o);
else return NoContent();
}
}
//========================= POST ====================================//
[HttpPost("AddObject")]
public IActionResult AddObject(ObjectItem o)
{
using (var db = new SQLiteService())
{
db.ObjectItems.Add(o);
db.SaveChanges();
return Created();
}
}
//========================= DELETE ====================================//
[HttpDelete("DelObject")]
public IActionResult DelObject(int id)
{
using (var db = new SQLiteService())
{
var delobj = db.ObjectItems.Where(o => o.Id == id).FirstOrDefault();
db.ObjectItems.Remove(delobj);
db.SaveChanges();
return Ok();
}
}
}