From 8b40d27710e532a43aaf1eb198be64af1a2e576e Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Sun, 6 Nov 2022 17:04:29 -0600 Subject: AƱadidos DTOs y Automapper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/GroupsController.cs | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) (limited to 'Controllers/GroupsController.cs') diff --git a/Controllers/GroupsController.cs b/Controllers/GroupsController.cs index f81cc56..5c2be1d 100644 --- a/Controllers/GroupsController.cs +++ b/Controllers/GroupsController.cs @@ -1,24 +1,45 @@ +using AutoMapper; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using LibraryAPI.Models; -using LibraryAPI.Filters; +using LibraryAPI.DTOs; namespace LibraryAPI.Controllers { [Route("api/groups")] [ApiController] public class GroupsController : ControllerBase { - private readonly LibraryContext _context; + private readonly LibraryContext _context; + private readonly IMapper _mapper; - public GroupsController(LibraryContext context) { + public GroupsController(LibraryContext context, IMapper mapper) { _context = context; + _mapper = mapper; } - [HttpPost] - public async Task PostGroup(Group g) { - _context.Add(g); + [HttpGet] + public async Task>> GetGroups(){ + var groups = await _context.Groups.ToListAsync(); + + return _mapper.Map>(groups); + } + + [HttpGet("{id:int}")] + public async Task> GetGroup(long id) { + var group = await _context.Groups.FindAsync(id); + + if(group == null) + return NotFound(); + + return _mapper.Map(group); + } + + [HttpPost] + public async Task> PostGroup(CreateGroup data) { + var group = _mapper.Map(data); + _context.Add(group); await _context.SaveChangesAsync(); - return Ok(); + return _mapper.Map(group); } } } -- cgit v1.2.3