From ebe1fd04681f7789d17b9e7c47dac2b93201d5a6 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Wed, 25 Sep 2024 10:58:47 +1000 Subject: [PATCH] =?UTF-8?q?feat(api):=20WeekendController,=20getAll,=20?= =?UTF-8?q?=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20=D0=BF=D0=BE=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B8=D0=BE=D0=B4=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.API/Contracts/V1/Requests/Queries/WeekendQuery.cs | 9 +++++++++ PARR.API/Controllers/V1/WeekendController.cs | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 PARR.API/Contracts/V1/Requests/Queries/WeekendQuery.cs diff --git a/PARR.API/Contracts/V1/Requests/Queries/WeekendQuery.cs b/PARR.API/Contracts/V1/Requests/Queries/WeekendQuery.cs new file mode 100644 index 00000000..102fabf2 --- /dev/null +++ b/PARR.API/Contracts/V1/Requests/Queries/WeekendQuery.cs @@ -0,0 +1,9 @@ +namespace PARR.API.Contracts.V1.Requests.Queries +{ + public class WeekendQuery + { + public DateOnly? StartPeriod { get; set; } + + public DateOnly? EndPeriod { get; set; } + } +} diff --git a/PARR.API/Controllers/V1/WeekendController.cs b/PARR.API/Controllers/V1/WeekendController.cs index 0bcd0216..9dd7fc35 100644 --- a/PARR.API/Controllers/V1/WeekendController.cs +++ b/PARR.API/Controllers/V1/WeekendController.cs @@ -48,12 +48,15 @@ namespace PARR.API.Controllers.V1 /// /// [HttpGet(ApiRoutes.Weekend.GetAll)] - public async Task GetAll([FromQuery] PaginationQuery paginationQuery) + public async Task GetAll([FromQuery] PaginationQuery paginationQuery, [FromQuery] WeekendQuery weekendQuery) { var paginationFilter = mapper.Map(paginationQuery); IQueryable query = weekendDayService.Get().OrderBy(t => t.Date); + if (weekendQuery.StartPeriod.HasValue && weekendQuery.EndPeriod.HasValue) + query = query.Where(t => t.Date >= weekendQuery.StartPeriod.Value && t.Date <= weekendQuery.EndPeriod); + var weekends = await weekendDayService.GetPage(query, paginationFilter).ToListAsync(); if (!weekends.Any())