Files
work/Strela/Controllers/DeviceController.cs
T
astankovmi f3c4c55c55
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 9s
ok
2026-06-09 02:52:44 +03:00

83 lines
2.3 KiB
C#

using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.AspNetCore.Mvc;
using Strela.Models;
using Strela.Services;
namespace Strela.Controllers;
[ApiController]
[Route("api/[controller]")]
public class DeviceController : ControllerBase
{
private readonly ILogger<UserController> _logger;
public DeviceController(ILogger<UserController> logger)
{
_logger = logger;
}
//=========================== GET =================================//
[HttpGet("GetTypes")]
[ProducesResponseType<List<DeviceType>>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetList()
{
using (var db = new SQLiteService())
{
var tps = db.DeviceTypes.ToList();
if (tps.Count != 0)
return Ok(tps);
else return NoContent();
}
}
[HttpGet("GetDevice")]
[ProducesResponseType<DeviceItem>(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status204NoContent)]
public IActionResult GetById(int id)
{
using (var db = new SQLiteService())
{
var d = db.Devices.Where(d => d.Id == id).FirstOrDefault();
if (d != null)
return Ok(d);
else return NoContent();
}
}
//========================= POST ====================================//
[HttpPost("AddDevice")]
public IActionResult AddDevice(DeviceItem d)
{
using (var db = new SQLiteService())
{
db.Devices.Add(d);//.Where(u => u.Name == name).FirstOrDefault();
db.SaveChanges();
return Created();
}
}
[HttpPost("AddType")]
public IActionResult AddType(DeviceType d)
{
using (var db = new SQLiteService())
{
db.DeviceTypes.Add(d);//.Where(u => u.Name == name).FirstOrDefault();
db.SaveChanges();
return Created();
}
}
//========================= DELETE ====================================//
[HttpDelete("DelType")]
public IActionResult DelType(int id)
{
using (var db = new SQLiteService())
{
var deldev = db.DeviceTypes.Where(u => u.Id == id).FirstOrDefault();
db.DeviceTypes.Remove(deldev);
db.SaveChanges();
return Ok();
}
}
}