public StoppedVoyage(VoyageNumber number, ISchedule schedule, int movementIndex) : base(number, schedule) { if (movementIndex < 0 || movementIndex >= schedule.MovementsCount) { throw new ArgumentOutOfRangeException("movementIndex"); } _movementIndex = movementIndex; }
protected VoyageState(VoyageNumber number, ISchedule schedule) { if (null == schedule) { throw new ArgumentNullException("schedule"); } if (null == number) { throw new ArgumentNullException("number"); } Schedule = schedule; Number = number; }
public CompletedVoyage(VoyageNumber number, ISchedule schedule) : base(number, schedule) { }
public Voyage(VoyageNumber identifier, ISchedule schedule) : this(new StoppedVoyage(identifier, schedule, 0)) { }