DemO/DEMO/Controllers/WarehousesController.cs

71 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// все про склады
using DEMO.Data; // база
using DEMO.Models; // склады
using Microsoft.AspNetCore.Mvc; // контроллер
using Microsoft.EntityFrameworkCore; // база
namespace DEMO.Controllers;
[ApiController] // это api
[Route("api/[controller]")] // адрес будет api/warehouses
public class WarehousesController : ControllerBase
{
private readonly AppDbContext _context; // база
// запоминаю базу
public WarehousesController(AppDbContext context)
{
_context = context;
}
// отдать все склады
[HttpGet]
public async Task<IActionResult> GetWarehouses()
{
var warehouses = await _context.Warehouses.ToListAsync(); // беру все
return Ok(warehouses);
}
// добавить склад
[HttpPost]
public async Task<IActionResult> CreateWarehouse(Warehouse warehouse) // приходит название и адрес
{
_context.Warehouses.Add(warehouse); // добавляю
await _context.SaveChangesAsync(); // сохраняю
return Ok(warehouse);
}
// изменить склад
[HttpPut("{id}")]
public async Task<IActionResult> UpdateWarehouse(int id, Warehouse warehouse)
{
var existingWarehouse = await _context.Warehouses.FindAsync(id); // ищу старый
if (existingWarehouse == null)
return NotFound();
// меняю поля
existingWarehouse.Name = warehouse.Name;
existingWarehouse.Address = warehouse.Address;
await _context.SaveChangesAsync(); // сохраняю
return Ok(existingWarehouse);
}
// удалить склад
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteWarehouse(int id)
{
var warehouse = await _context.Warehouses.FindAsync(id); // ищу
if (warehouse == null)
return NotFound();
_context.Warehouses.Remove(warehouse); // удаляю
await _context.SaveChangesAsync(); // сохраняю
return NoContent();
}
}