From a4e5e5b095c2db1aa92da2fd50e48eab7a10c3d5 Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Mon, 4 Sep 2023 19:38:37 +0100 Subject: [PATCH] Get Calendar dates list --- EstateReportingAPI/Controllers/Dimensions.cs | 54 ++++++++++---------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/EstateReportingAPI/Controllers/Dimensions.cs b/EstateReportingAPI/Controllers/Dimensions.cs index a99ae7e..24bc25f 100644 --- a/EstateReportingAPI/Controllers/Dimensions.cs +++ b/EstateReportingAPI/Controllers/Dimensions.cs @@ -37,7 +37,7 @@ public DimensionsController(IDbContextFactory co #endregion [HttpGet] - [Route("getcalendaryears")] + [Route("calendar/years")] public async Task GetCalendarYears([FromHeader] Guid estateId, CancellationToken cancellationToken){ EstateManagementGenericContext? context = await this.ContextFactory.GetContext(estateId, DimensionsController.ConnectionStringIdentifier, cancellationToken); @@ -53,31 +53,33 @@ public async Task GetCalendarYears([FromHeader] Guid estateId, Ca return this.Ok(response); } - //[HttpGet] - //public async Task GetCalendarDates([FromHeader] Guid estateId, [FromQuery] Int32 year, CancellationToken cancellationToken) - //{ - // EstateManagementGenericContext? context = await this.ContextFactory.GetContext(estateId, DimensionsController.ConnectionStringIdentifier, cancellationToken); - - // List dates= context.Calendar.Where(c => c.Date <= DateTime.Now.Date).ToList(); - - // List response = new List(); - - // dates.ForEach(d => response.Add(new CalendarDate{ - // Year = d.Year, - // Date = d.Date, - // DayOfWeek = d.DayOfWeek, - // DayOfWeekNumber = d.DayOfWeekNumber, - // DayOfWeekShort = d.DayOfWeekShort, - // MonthName = d.MonthNameLong, - // MonthNameShort = d.MonthNameShort, - // MonthNumber = d.MonthNumber, - // WeekNumber = d.WeekNumber ?? 0, - // WeekNumberString = d.WeekNumberString, - // YearWeekNumber = d.YearWeekNumber, - // })); - - // return this.Ok(); - //} + [HttpGet] + [Route("calendar/{year}/dates")] + public async Task GetCalendarDates([FromHeader] Guid estateId, [FromRoute] Int32 year, CancellationToken cancellationToken) + { + EstateManagementGenericContext? context = await this.ContextFactory.GetContext(estateId, DimensionsController.ConnectionStringIdentifier, cancellationToken); + + List dates = context.Calendar.Where(c => c.Date <= DateTime.Now.Date).ToList(); + + List response = new List(); + + dates.ForEach(d => response.Add(new CalendarDate + { + Year = d.Year, + Date = d.Date, + DayOfWeek = d.DayOfWeek, + DayOfWeekNumber = d.DayOfWeekNumber, + DayOfWeekShort = d.DayOfWeekShort, + MonthName = d.MonthNameLong, + MonthNameShort = d.MonthNameShort, + MonthNumber = d.MonthNumber, + WeekNumber = d.WeekNumber ?? 0, + WeekNumberString = d.WeekNumberString, + YearWeekNumber = d.YearWeekNumber, + })); + + return this.Ok(dates); + } }