public IActionResult GetFreeCourtsFromToExclude([FromBody] ReservationDto reservation) { if (reservation == null) { return(BadRequest(reservation)); } ReservationRequest res; try { res = new ReservationRequest(reservation); } catch (Exception ex) { return(BadRequest(ex.Message)); } _logger.LogInformation($"Squash Controller is reqesting Free Courts from: {res.FromTime} to: {res.ToTime} for: {res.Duration}"); List <CourtDto> korty = _squash.GetFreeSquashCourts(res); if (korty.Count() > 0 && res.isLogged()) { var kort = korty.FirstOrDefault(); var freeTime = kort.Free.FirstOrDefault(); int lenght = (res.Duration.Hours * 60 + res.Duration.Minutes) / 30; kort.Free.Clear(); for (int i = 0; i < lenght; i++) { var time = new FreeHoursDto() { From = freeTime.From.AddMinutes(i * 30), To = freeTime.From.AddMinutes((i * 30) + 30) }; kort.Free.Add(time); } var book = GenerateBookRequest(kort, res); var rezerwujResponse = _squash.RezerwujTest(book); if (rezerwujResponse != null && rezerwujResponse.StatusCode == System.Net.HttpStatusCode.OK) { kort.Booked = true; var restult = new List <CourtDto>(); restult.Add(kort); return(Ok(restult)); } } _messanger.Send("### Squash Team", $"API found {korty.Count()} free squash courts ###"); return(Ok(korty)); }