Ejemplo n.º 1
0
        public void SetSold()
        {
            if (!CanSell())
            {
                throw new InvalidOperationException("Degree's state doesn't allow it to be sold.");
            }

            AvailabilityState = new SoldAvailabilityState();
        }
Ejemplo n.º 2
0
        public void Reserve()
        {
            if (!CanReserve())
            {
                throw new InvalidOperationException("Degree's state doesn't allow it to be reserved.");
            }

            AvailabilityState = new ReservedAvailabilityState();
        }
Ejemplo n.º 3
0
 public DegreeSnapshot(Degree degree)
 {
     _degree            = degree;
     _availabilityState = degree.AvailabilityState;
 }
Ejemplo n.º 4
0
 public void RemoveReservation()
 {
     AvailabilityState = new AvailableAvailabilityState();
 }
Ejemplo n.º 5
0
 public Degree(double degree)
 {
     _degree           = degree;
     AvailabilityState = new AvailableAvailabilityState();
 }
Ejemplo n.º 6
0
 public AvailabilityEventArgs(IAvailabilityState availabilityState) => NewState = availabilityState;