Пример #1
0
        // calculate which bookings we want to place
        public void UpdateGoalBookings()
        {
            // pick all placed + the first non-placed - skipped
            List <Booking> goalBookings          = Bookings.Where(b => !SkippedBookingsIds.Contains(b.Id) && Assignments.Where(a => a.BookingId == b.Id).Count() != 0).ToList();
            int            nextUnplacedBookingId = GetUnplacedBookings().First(x => !SkippedBookingsIds.Contains(x.Id)).Id; //goalBookings.Last().Id + 1;

            goalBookings.Add(Bookings[nextUnplacedBookingId]);
            GoalBookings = goalBookings;
        }
Пример #2
0
        public void SkipNextBooking()
        {
            List <Booking> unplacedBookings = GetUnplacedBookings();

            NextUnplacedBookingId = unplacedBookings.First().Id;

            SkippedBookingsIds.Add(NextUnplacedBookingId);
            //Bookings.RemoveAt(NextUnplacedBookingId);

            NextUnplacedBookingId++;
            this.OnPropertyChanged("NextUnplacedBookingId");
            this.OnPropertyChanged("Bookings");
        }
Пример #3
0
        public void RemovePreviousFromQueue()
        {
            List <Booking> placedBookings = Bookings.Where(b => SkippedBookingsIds.Contains(b.Id) || Assignments.Where(a => a.BookingId == b.Id).Count() > 0).ToList();

            if (placedBookings.Count() > 0)
            {
                Booking lastPlaced = placedBookings.OrderBy(x => x.Id).Last();

                if (SkippedBookingsIds.Contains(lastPlaced.Id))
                {
                    // just skipped? un-skip
                    SkippedBookingsIds.Remove(lastPlaced.Id);
                }
                else
                {
                    Assignments = new ObservableCollection <BookingAssignment>(Assignments.Where(x => x.BookingId != lastPlaced.Id));
                    this.OnPropertyChanged("Assignments");
                }
                List <Booking> unplacedBookings = GetUnplacedBookings();
                NextUnplacedBookingId = unplacedBookings.First().Id;
                this.OnPropertyChanged("NextUnplacedBookingId");
                this.OnPropertyChanged("Bookings");
            }
        }
Пример #4
0
 public List <Booking> GetUnplacedBookings()
 {
     return(Bookings.Where(b => !SkippedBookingsIds.Contains(b.Id) && Assignments.Where(a => a.BookingId == b.Id).Count() == 0).ToList());
 }