using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using WebApi.Data; using WebApi.Models; namespace WebApi.Controllers { [Route("api/[controller]")] [ApiController] public class AdminsController : ControllerBase { private readonly WebApiContext _context; public AdminsController(WebApiContext context) { _context = context; } // GET: api/Admins [HttpGet] public async Task>> GetAdmins() { if (_context.Admins == null) { return NotFound(); } return await _context.Admins.ToListAsync(); } // GET: api/Admins/5 [HttpGet("{id}")] public async Task> GetAdmin(int id) { if (_context.Admins == null) { return NotFound(); } var admin = await _context.Admins.FindAsync(id); if (admin == null) { return NotFound(); } return admin; } // PUT: api/Admins/5 // To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754 [HttpPut("{id}")] public async Task PutAdmin(int id, Admin admin) { if (id != admin.Id) { return BadRequest(); } _context.Entry(admin).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdminExists(id)) { return NotFound(); } else { throw; } } return NoContent(); } // POST: api/Admins // To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754 [HttpPost] public async Task> PostAdmin(Admin admin) { if (_context.Admins == null) { return Problem("Entity set 'WebApiContext.Admins' is null."); } _context.Admins.Add(admin); await _context.SaveChangesAsync(); return CreatedAtAction("GetAdmin", new { id = admin.Id }, admin); } // DELETE: api/Admins/5 [HttpDelete("{id}")] public async Task DeleteAdmin(int id) { if (_context.Admins == null) { return NotFound(); } var admin = await _context.Admins.FindAsync(id); if (admin == null) { return NotFound(); } _context.Admins.Remove(admin); await _context.SaveChangesAsync(); return NoContent(); } private bool AdminExists(int id) { return (_context.Admins?.Any(e => e.Id == id)).GetValueOrDefault(); } } }