Exemplo n.º 1
0
        private Reservation DeleteAbortedSlotsFromReservation(Reservation reservation)
        {
            Console.WriteLine("[Calling] DeleteAbortedSlotsFromReservation");
            List<ReservationSlot> newSlotList = new List<ReservationSlot>();

            foreach (ReservationSlot slot in reservation.getSlotList()) {
                if (slot.isAborted() == false) {
                    newSlotList.Add(slot);
                }
                else
                    Console.WriteLine("Slot " + slot.GetNumber() + " is aborted! Remove it");
            }

            Reservation reservationWithoutAbortedSlots = new Reservation(reservation.getDescription(), reservation.getUserList(), newSlotList, reservation.getCreator(), reservation.getTicket());
            return reservationWithoutAbortedSlots;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Debug Method
        /// Prints reservation information
        /// </summary>
        /// <param name="reservation"></param>
        private void PrintReservation(Reservation reservation)
        {
            Console.WriteLine("[Calling] PrintReservation");
            Console.WriteLine("RESERVATION");
            if (reservation.getCreator() == null) {
                Console.WriteLine("[Error]: Creator is Null");
                return;
            }

            if (reservation.getDescription() == null) {
                Console.WriteLine("[Error]: Description is null");
                return;
            }
            Console.WriteLine("Description: " + reservation.getDescription());

            if (reservation.getUserList().Count == 0) {
                Console.WriteLine("[Error]: User list is empty");
                return;
            }
            Console.WriteLine("User List");
            foreach (UserView u in reservation.getUserList()) {
                Console.WriteLine(u.getName());
            }

            if (reservation.getSlotList().Count == 0) {
                Console.WriteLine("[Error]: Slot list is empty");
                return;
            }
            foreach (ReservationSlot s in reservation.getSlotList()) {
                Console.WriteLine(s.ToString());
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Checks all the answers for each slot. If the answers were all Ack's them that slot changes
        /// its state to Tentatively-Booked. Otherwise, it changes its state to Aborted
        /// </summary>
        /// <param name="reservation"></param>
        /// <returns></returns>
        private Reservation ChangeReservationSlotStatus(Reservation reservation)
        {
            List<int> slotsWithNaks = AnyNAKReceived(threadResponses);

            Console.WriteLine("Print slot with naks");
            foreach (int i in slotsWithNaks) {
                Console.WriteLine("Slot " + i);
            }

            foreach (ReservationSlot slot in reservation.getSlotList()) {
                if (slotsWithNaks.Contains(slot.GetNumber())) {
                    slot.SetAborted();
                }
                else
                    slot.setTentativelyBooked();
            }

            bool areAllTheSlotsAborted = true;

            foreach (ReservationSlot s in reservation.getSlotList()) {
                if (!s.isAborted()) {
                    Console.WriteLine("Slot " + s.GetNumber() + " is not aborted!");
                    areAllTheSlotsAborted = false; break;
                }
            }

            if (areAllTheSlotsAborted) return null;
            return reservation;
        }