public DispatchCourseViewModel(string sessionId)
        {
            SessionId = sessionId;

            Provider = new DispatchCourseProvider();
            Provider.DispatchCouseEvent += DispatchLoadedEvent;
        }
        public DispatchCourseViewModel(IViewContainer container, string sessionId)
        {
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchCourseProvider();
            Provider.DispatchCouseEvent += DispatchLoadedEvent;
        }
        public ApplyCourseViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            Provider = new DispatchCourseProvider();
            Provider.AvailableCourseEvent += AvailableCourseLoadedEvent;
        }
        public AbsenceComposeViewModel(IViewContainer container, ViewModelRelationship parent,
            string sessionId)
        {
            Parent = parent;
            Container = container;
            SessionId = sessionId;

            absenceProvider = new AbsenceProvider();
            absenceProvider.AbsenceEvent += (parent.ViewModel as AbsenceViewModel).AbsenceLoadedEvent;
            // Local event
            absenceProvider.AbsenceEvent += AbsenceLoadedEvent;

            dispatchProvider = new DispatchCourseProvider();
            dispatchProvider.DispatchCouseEvent = DispatchLoadedEvent;
        }