Exemplo n.º 1
0
        public DateTime GetNextBookingStartTimeForCompany(int id)
        {
            SingleBooking  sB = null;
            OngoingBooking oB = null;

            if (Model.SingleBookings.Any(b => b.IsConfirmed == true && b.CompanyId == id))
            {
                sB = Model.SingleBookings.Where(b => b.IsConfirmed == true && b.CompanyId == id).OrderBy(b => b.StartTime).First();
            }
            if (Model.OngoingBookings.Any(b => b.IsConfirmed == true && b.CompanyId == id))
            {
                oB = Model.OngoingBookings.Where(b => b.IsConfirmed == true && b.CompanyId == id).OrderBy(b => b.StartTime).First();
            }
            if (sB != null && oB == null)
            {
                return(sB.StartTime);
            }
            else if (sB == null && oB != null)
            {
                return(oB.StartTime);
            }
            else if (oB.StartTime > sB.StartTime)
            {
                return(oB.StartTime);
            }
            else
            {
                return(DateTime.Now);
            }
        }
        private void btnRequestOngoingBooking_Click(object sender, RoutedEventArgs e)
        {
            DateTime startDate = new DateTime();

            startDate = dpOngoingBookingStartDate.SelectedDate.Value;
            DateTime endDate = new DateTime();

            endDate = dpOngoingBookingEndDate.SelectedDate.Value;
            DateTime startTime;

            if (double.Parse(cboOngoingBookingStartTimeHalf.SelectedItem.ToString()) == 30)
            {
                startTime = startDate.AddHours(double.Parse(cboOngoingBookingStartTimeFull.SelectedItem.ToString()) + 0.5);
            }
            else
            {
                startTime = startDate.AddHours(double.Parse(cboOngoingBookingStartTimeFull.SelectedItem.ToString()));
            }
            DateTime endTime;

            if (double.Parse(cboOngoingBookingEndTimeHalf.SelectedItem.ToString()) == 30)
            {
                endTime = endDate.AddHours(double.Parse(cboOngoingBookingEndTimeFull.SelectedItem.ToString()) + 0.5);
            }
            else
            {
                endTime = endDate.AddHours(double.Parse(cboOngoingBookingEndTimeFull.SelectedItem.ToString()));
            }
            Activity activity = activitiesHandler.GetActivityFromName(cboActivityOngoingBooking.SelectedValue.ToString());

            OngoingBooking ongoingBooking = new OngoingBooking
            {
                StartDay    = startDate,
                EndDay      = endDate,
                StartTime   = startTime,
                EndTime     = endTime,
                CompanyId   = company.Id,
                ActivityId  = activity.Id,
                DayOfWeek   = (int)startDate.DayOfWeek,
                IsConfirmed = false
            };

            try
            {
                ongoingBookingsHandler.AddOngoingBooking(ongoingBooking);
                MessageBox.Show("Bookingen er efterspurgt!");
                dpOngoingBookingStartDate.SelectedDate       = DateTime.Now;
                dpOngoingBookingEndDate.SelectedDate         = DateTime.Now.AddDays(7);
                cboOngoingBookingStartTimeFull.SelectedIndex = -1;
                cboOngoingBookingStartTimeHalf.SelectedIndex = -1;
                cboOngoingBookingEndTimeHalf.SelectedIndex   = -1;
                cboOngoingBookingEndTimeFull.SelectedIndex   = -1;
                cboActivityOngoingBooking.SelectedIndex      = -1;
            }
            catch (ArgumentException)
            {
                MessageBox.Show("Noget gik galt, prøv igen.");
            }
        }
        public bool UpdateOngoingBooking(int id, OngoingBooking ongoingBooking)
        {
            var onBook = Model.OngoingBookings.Find(id);

            onBook.StartDay  = ongoingBooking.StartDay;
            onBook.EndDay    = ongoingBooking.EndDay;
            onBook.StartTime = ongoingBooking.StartTime;
            onBook.EndTime   = ongoingBooking.EndTime;

            return(SaveChangesToDB());
        }
 private void btnAcceptOngoingBookingRequest_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         OngoingBooking oB = dtgRequestedOngoingBookings.SelectedItem as OngoingBooking;
         oBHandler.AcceptOngoingBookingRequest(oB.Id, admin.Id);
         dtgRequestedOngoingBookings.SelectedItem = null;
         dtgRequestedOngoingBookings.ItemsSource  = oBHandler.GetAllPendingOngoingBookings();
     }
     catch (ArgumentNullException)
     {
         MessageBox.Show("You need to select a booking to accept it.");
     }
 }
 public bool AddOngoingBooking(OngoingBooking ongoingBooking)
 {
     Model.OngoingBookings.Add(ongoingBooking);
     return(SaveChangesToDB());
 }