public IActionResult Post([FromBody] ReservationDto value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var room = _roomRepo.Get(value.RoomNumber); if (room == null) { return(BadRequest($"Room {value.RoomNumber} is not exist")); } if (value.ArrivalDate >= value.DepartureDate) { return(BadRequest("Arrival date can not be the same or after the Depature date")); } var guest = _guestRepo.Create( new Guest { Name = value.GuestName, Email = value.GuestEmail, Phone = value.GuestPhone } ); var reservation = _reservationRepo.Book(guest, room, value.ArrivalDate, value.DepartureDate); return(Ok(reservation)); }