// все про пользователей using DEMO.Data; // база using DEMO.Models; // пользователи using Microsoft.AspNetCore.Mvc; // контроллер using Microsoft.EntityFrameworkCore; // база namespace DEMO.Controllers; [ApiController] // это api [Route("api/[controller]")] // адрес будет api/users public class UsersController : ControllerBase { private readonly AppDbContext _context; // база // запоминаю базу public UsersController(AppDbContext context) { _context = context; } // отдать всех людей [HttpGet] public async Task GetUsers() { // беру людей и их роли var users = await _context.Users .Include(u => u.Role) .ToListAsync(); return Ok(users); } // добавить человека [HttpPost] public async Task CreateUser(User user) // приходит логин пароль роль { _context.Users.Add(user); // добавляю await _context.SaveChangesAsync(); // сохраняю return Ok(user); } // изменить человека [HttpPut("{id}")] public async Task UpdateUser(int id, User user) { var existingUser = await _context.Users.FindAsync(id); // ищу старого if (existingUser == null) return NotFound(); // меняю поля existingUser.Login = user.Login; existingUser.Password = user.Password; existingUser.RoleId = user.RoleId; await _context.SaveChangesAsync(); // сохраняю return Ok(existingUser); } // удалить человека [HttpDelete("{id}")] public async Task DeleteUser(int id) { var user = await _context.Users.FindAsync(id); // ищу if (user == null) return NotFound(); _context.Users.Remove(user); // удаляю await _context.SaveChangesAsync(); // сохраняю return NoContent(); } }