async Task <TimeBandsResponse> GetTimeBandsAsync(TimeBandsRequest request) { var validationResult = this.Validate(request); if (!validationResult.IsValid) { await _logServiceClient.PostAsync(new LogRequest { Message = $"Failed to generate factorial for {request.Date} - " }); return(new TimeBandsResponse { Success = false, Errors = validationResult.FormattedErrors }); } var result = new TimeBandsResponse { Success = true, TimeBands = GetTimeBands(request) }; await _logServiceClient.PostAsync(new LogRequest { Message = $"Retrieved TimeBands for {request.Date}: {result.TimeBands}" }); return(result); }
IEnumerable <TimeBand> GetTimeBands(TimeBandsRequest request) => new TimeBand[] { new TimeBand { Type = "Green", StartTime = "00:00:00", EndTime = "00:30:00" }, new TimeBand { Type = "Green", StartTime = "00:30:00", EndTime = "01:00:00" }, new TimeBand { Type = "Green", StartTime = "01:00:00", EndTime = "01:30:00" }, new TimeBand { Type = "Green", StartTime = "01:30:00", EndTime = "02:00:00" }, new TimeBand { Type = "Green", StartTime = "02:00:00", EndTime = "02:30:00" }, new TimeBand { Type = "Green", StartTime = "02:30:00", EndTime = "03:00:00" }, new TimeBand { Type = "Green", StartTime = "03:00:00", EndTime = "03:30:00" }, new TimeBand { Type = "Green", StartTime = "03:30:00", EndTime = "04:00:00" }, new TimeBand { Type = "Green", StartTime = "04:00:00", EndTime = "04:30:00" }, new TimeBand { Type = "Green", StartTime = "04:30:00", EndTime = "05:00:00" }, new TimeBand { Type = "Green", StartTime = "05:00:00", EndTime = "05:30:00" }, new TimeBand { Type = "Green", StartTime = "05:30:00", EndTime = "06:00:00" }, new TimeBand { Type = "Green", StartTime = "06:00:00", EndTime = "06:30:00" }, new TimeBand { Type = "Green", StartTime = "06:30:00", EndTime = "07:00:00" }, new TimeBand { Type = "Amber", StartTime = "07:00:00", EndTime = "07:30:00" }, new TimeBand { Type = "Amber", StartTime = "07:30:00", EndTime = "08:00:00" }, new TimeBand { Type = "Amber", StartTime = "08:00:00", EndTime = "08:30:00" }, new TimeBand { Type = "Amber", StartTime = "08:30:00", EndTime = "09:00:00" }, new TimeBand { Type = "Amber", StartTime = "09:00:00", EndTime = "09:30:00" }, new TimeBand { Type = "Amber", StartTime = "09:30:00", EndTime = "10:00:00" }, new TimeBand { Type = "Amber", StartTime = "10:00:00", EndTime = "10:30:00" }, new TimeBand { Type = "Amber", StartTime = "10:30:00", EndTime = "11:00:00" }, new TimeBand { Type = "Red", StartTime = "11:00:00", EndTime = "11:30:00" }, new TimeBand { Type = "Red", StartTime = "11:30:00", EndTime = "12:00:00" }, new TimeBand { Type = "Red", StartTime = "12:00:00", EndTime = "12:30:00" }, new TimeBand { Type = "Red", StartTime = "12:30:00", EndTime = "13:00:00" }, new TimeBand { Type = "Red", StartTime = "13:00:00", EndTime = "13:30:00" }, new TimeBand { Type = "Red", StartTime = "13:30:00", EndTime = "14:00:00" } };