Major update
This commit is contained in:
52
divisions/Controllers/DivisionsController.cs
Normal file
52
divisions/Controllers/DivisionsController.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Divisions.Queries;
|
||||
using MediatR;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Divisions.Controllers
|
||||
{
|
||||
[ApiController]
|
||||
[Route("api/divisions")]
|
||||
public class DivisionsController : ControllerBase
|
||||
{
|
||||
private readonly ISender _sender;
|
||||
|
||||
public DivisionsController(ISender sender) => _sender = sender;
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult> GetDivisions([FromQuery] int pageNumber, [FromQuery] int pageSize)
|
||||
{
|
||||
var divisions = await _sender.Send(new GetDivisionsQuery
|
||||
{
|
||||
PageNumber = pageNumber,
|
||||
PageSize = pageSize
|
||||
});
|
||||
|
||||
Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(new
|
||||
{
|
||||
divisions.CurrentPage,
|
||||
divisions.PageSize,
|
||||
divisions.TotalCount,
|
||||
divisions.TotalPages
|
||||
}));
|
||||
|
||||
return Ok(divisions);
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public async Task<ActionResult> GetDivisionById(int id)
|
||||
{
|
||||
var division = await _sender.Send(new GetDivisionByIdQuery
|
||||
{
|
||||
DivisionId = id
|
||||
});
|
||||
|
||||
return Ok(division);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user