コード例 #1
0
        /// <summary>
        /// Checks if the selected apartment is available within the selected dates.
        /// </summary>
        private void CheckApartmentAvailability()
        {
            if (Apartment == null)
            {
                return;
            }

            var start = fromDateTimePicker.Value.Date;
            var end   = toDateTimePicker.Value.Date;

            var reservations = Apartment.GetAllReservationsForApartment().Except(new List <ReservationInfo> {
                Reservation
            }).ToList();

            foreach (var reservation in reservations)
            {
                if ((reservation.From < start && reservation.To > start) ||
                    (reservation.From < end && reservation.To > end) ||
                    (start <= reservation.From && end >= reservation.To))
                {
                    infoLabel.Text = $@"Selected reservation dates for this room collide with another reservation.
Reservation start: {reservation.From.Date:dd.MM.yyyy}, reservation end: {reservation.To.Date:dd.MM.yyyy}";

                    saveButton.Enabled = false;

                    return;
                }

                infoLabel.Text     = "";
                saveButton.Enabled = true;
            }
        }
コード例 #2
0
        /// <summary>
        /// Checks if the selected apartment is available within the selected dates.
        /// </summary>
        private void CheckApartmentAvailability()
        {
            if (SelectedApartment == null)
            {
                return;
            }

            var start = fromDateTimePicker.Value.Date;
            var end   = toDateTimePicker.Value.Date;

            var reservations = SelectedApartment.GetAllReservationsForApartment().ToList();

            foreach (var reservation in reservations)
            {
                if (reservation.From < start && reservation.To > start ||
                    reservation.From < end && reservation.To > end ||
                    start <= reservation.From && end >= reservation.To)
                {
                    infoLabel.Text = @"Selected reservation dates for this room collide with another reservation."
                                     + $@"Reservation start: {reservation.From.Date:dd.MM.yyyy}, reservation end: {reservation.To.Date:dd.MM.yyyy}";

                    proceedButton.Enabled = false;

                    return;
                }

                infoLabel.Text        = "";
                proceedButton.Enabled = true;
            }
        }