Exemple #1
0
        /// <summary>
        /// Transforms the <paramref name="listViewItem"/> to a reservation.
        /// </summary>
        /// <param name="listViewItem">Selected item to transform.</param>
        private void ListViewItemToReservation(ListViewItem listViewItem)
        {
            var email         = listViewItem.SubItems[3].Text;
            var reservationId = Convert.ToInt32(listViewItem.SubItems[0].Text);

            Person      = PersonProvider.GetPersonByEmail(email);
            Reservation = ReservationProvider.GetReservationById(reservationId);
        }
Exemple #2
0
        public ReservationEngine(Func <User> currentUserProvider, ReservationProvider reservationProvider)
        {
            Check.NotNull(reservationProvider, "reservationProvider");
            Check.NotNull(currentUserProvider, "currentUserProvider");

            this.repository  = reservationProvider;
            this.currentUser = new Lazy <User>(currentUserProvider);
        }
Exemple #3
0
        private void DeleteButton_Click(object sender, EventArgs e)
        {
            ReservationProvider.DeleteReservation(Reservation);

            MessageBox.Show(@"The reservation was successfully deleted");

            Close();
        }
        private void ReserveButton_Click(object sender, EventArgs e)
        {
            PersonProvider.SetPerson(Person);
            //ApartmentProvider.SetApartment(Apartment);
            ReservationProvider.SetReservation(Reservation);

            MessageBox.Show(@"Reservation was successful!");
            Close();
        }
        private void SaveButton_Click(object sender, EventArgs e)
        {
            Reservation.Apartment   = Apartment;
            Reservation.ApartmentId = Apartment.ApartmentId;

            Reservation.From = fromDateTimePicker.Value;
            Reservation.To   = toDateTimePicker.Value;

            ReservationProvider.UpdateReservation(Reservation);

            Close();
        }
Exemple #6
0
        public JsonResult Retrieve(DateTime beginDate, DateTime endDate)
        {
            if (!AuthorizationProvider.CanViewRevenue())
            {
                return(Forbidden());
            }

            ReservationProvider dataProvider = new ReservationProvider(_dbContext);
            var reservations = dataProvider.Retrieve(beginDate, endDate);

            return(Json(reservations, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Updates the search results.
        /// </summary>
        private void UpdateSearch()
        {
            FilteredReservations = ReservationProvider.GetAllReservations();

            if (searchCheckBox.Checked)
            {
                FilterBySearchParameters();

                FilterByDate();
            }

            RefreshGui(FilteredReservations);
        }
Exemple #8
0
        /// <summary>
        /// Get all available apartments with the desired capacity and a given time frame.
        /// </summary>
        /// <param name="minimalCapacity">Minimum capacity of the apartments.</param>
        /// <param name="doubleBeds">Minimal number of double beds.</param>
        /// <param name="from">Beginning date.</param>
        /// <param name="to">Ending date.</param>
        public static IEnumerable <ApartmentInfo> GetAvailableApartments(int minimalCapacity, int doubleBeds, DateTime from, DateTime to)
        {
            var apartments = GetApartmentsWithCapacityAtLeast(minimalCapacity)
                             .Where(apartment => apartment.DoubleBeds >= doubleBeds).ToList();
            var reservations       = ReservationProvider.GetAllReservationsFrom(from).Where(reservation => reservation.To <= to);
            var occupiedApartments = new List <ApartmentInfo>();

            foreach (var reservation in reservations)
            {
                if (!occupiedApartments.Contains(reservation.Apartment))
                {
                    occupiedApartments.Add(reservation.Apartment);
                }
            }

            return(apartments.Except(occupiedApartments));
        }
        public ReservationsListForm()
        {
            InitializeComponent();

            reservationsListView.MultiSelect  = false;
            endEditOrDeleteModeButton.Visible = false;

            InitializeImageList();

            ChangeSearchAvailability(false);

            SetUpHeaders();

            RefreshGui();

            FilteredReservations = ReservationProvider.GetAllReservations();
        }
        private void ExportToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var saveFileDialog = new SaveFileDialog();

            if (saveFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            using (var fileStream = new FileStream(saveFileDialog.FileName, FileMode.Create))
            {
                using (var streamWriter = new StreamWriter(fileStream))
                {
                    foreach (var reservation in ReservationProvider.GetAllReservations())
                    {
                        streamWriter.WriteLine(reservation.ToString());
                    }
                }
            }
        }
        /// <summary>
        /// Filters reservations by search parameters.
        /// </summary>
        private void FilterBySearchParameters()
        {
            switch (searchComboBox.SelectedIndex)
            {
            case 0:
            {
                FilteredReservations = ReservationProvider.GetReservationsByFirstName(searchTextBox.Text);
                RefreshGui(FilteredReservations);
                break;
            }

            case 1:
            {
                FilteredReservations = ReservationProvider.GetReservationsByLastName(searchTextBox.Text);
                RefreshGui(FilteredReservations);
                break;
            }

            case 2:
            {
                FilteredReservations = ReservationProvider.GetReservationsByEmail(searchTextBox.Text);
                RefreshGui(FilteredReservations);
                break;
            }

            case 3:
            {
                if (int.TryParse(searchTextBox.Text, out var roomNumber))
                {
                    FilteredReservations = ReservationProvider.GetReservationsByRoomNumber(roomNumber);
                    RefreshGui(FilteredReservations);
                }

                break;
            }
            }
        }
        /// <summary>
        /// Transforms the <paramref name="listViewItem"/> to a reservation.
        /// </summary>
        /// <param name="listViewItem">Selected item to transform.</param>
        private void ListViewItemToReservation(ListViewItem listViewItem)
        {
            var reservationId = Convert.ToInt32(listViewItem.SubItems[0].Text);

            Reservation = ReservationProvider.GetReservationById(reservationId);
        }