public async Task <IActionResult> Check()
        {
            var command = new CheckAvailabilityCommand();
            await _mediator.Send(command);

            return(Ok());
        }
        private static async Task CheckWebsitesTaskAsync(object obj)
        {
            var(scopeFactory, stoppingToken) = ((IServiceScopeFactory, CancellationToken))obj;
            using var scope = scopeFactory.CreateScope();

            var mediatr = scope.ServiceProvider.GetRequiredService <IMediator>();
            var options = scope.ServiceProvider.GetRequiredService <IOptions <CheckerOptions> >().Value;

            while (!stoppingToken.IsCancellationRequested)
            {
                var command = new CheckAvailabilityCommand();
                await mediatr.Send(command);

                await Task.Delay(options.DelayTimeSpan, stoppingToken);
            }
        }
        public BookingViewModel()
        {
            _accomodationList      = DataManagementService.Instance.MainRepository.AccomodationRepository.AccomodationList;
            _locationList          = DataManagementService.Instance.MainRepository.LocationRepository.LocationList;
            _reservationRepository = DataManagementService.Instance.MainRepository.ReservationRepository;

            _reservation      = new Reservation();
            _selectedLocation = new Location();
            _selectedOption   = new Option();
            _availableOptions = new ObservableCollection <Option>();

            _roomsToReserve = new ObservableCollection <IRoom>();
            _roomFactory    = new RoomFactory();
            _selectedRoom   = _roomFactory.BuildRoom(_roomType);

            _checkAvailabilityCommand    = new CheckAvailabilityCommand(this);
            _showBookingVoucherCommand   = new ShowBookingVoucherCommand(this);
            _getCustomerInfoCommand      = new GetCustomerInfoCommand(this);
            _newCustomerCommand          = new EmptyCustomerFieldsCommand(this);
            _addRoomToReservationCommand = new AddRoomToReservationCommand(this);
        }