using System.Collections.Generic; using System.Linq; using Microsoft.EntityFrameworkCore; using Microsoft.AspNetCore.Mvc; using WebApplication1.Models; using System.Threading.Tasks; namespace WebApplication1.Controllers { [ApiController] [Route("api/[controller]")] public class UsersController : ControllerBase { UsersContext db; public UsersController(UsersContext context) { db = context; if (!db.Users.Any()) { db.Users.Add(new User { Name = "Tom", Age = 26 }); db.Users.Add(new User { Name = "Alice", Age = 31 }); db.SaveChanges(); } } [HttpGet] public async Task>> Get() { return await db.Users.ToListAsync(); } // GET api/users/5 [HttpGet("{id}")] public async Task> Get(int id) { User user = await db.Users.FirstOrDefaultAsync(x => x.Id == id); if (user == null) return NotFound(); return new ObjectResult(user); } // POST api/users [HttpPost] public async Task> Post(User user) { if (user == null) { return BadRequest(); } db.Users.Add(user); await db.SaveChangesAsync(); return Ok(user); } // PUT api/users/ [HttpPut] public async Task> Put(User user) { if (user == null) { return BadRequest(); } if (!db.Users.Any(x => x.Id == user.Id)) { return NotFound(); } db.Update(user); await db.SaveChangesAsync(); return Ok(user); } // DELETE api/users/5 [HttpDelete("{id}")] public async Task> Delete(int id) { User user = db.Users.FirstOrDefault(x => x.Id == id); if (user == null) { return NotFound(); } db.Users.Remove(user); await db.SaveChangesAsync(); return Ok(user); } } }