// все про склады 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 GetWarehouses() { var warehouses = await _context.Warehouses.ToListAsync(); // беру все return Ok(warehouses); } // добавить склад [HttpPost] public async Task CreateWarehouse(Warehouse warehouse) // приходит название и адрес { _context.Warehouses.Add(warehouse); // добавляю await _context.SaveChangesAsync(); // сохраняю return Ok(warehouse); } // изменить склад [HttpPut("{id}")] public async Task 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 DeleteWarehouse(int id) { var warehouse = await _context.Warehouses.FindAsync(id); // ищу if (warehouse == null) return NotFound(); _context.Warehouses.Remove(warehouse); // удаляю await _context.SaveChangesAsync(); // сохраняю return NoContent(); } }