public FacultySecretaryViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            faculties = new List<FacultyDTO>();

            originalEntity = new FacultySecretaryDTO() { Role = UserRoles.FacultySecretary };
        }
 public UserRateListViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, BaseEntityDTO entity)
     : base(userInterop, controllerInterop, dispatcher)
 {
     this.entity = entity;
     rates = new ObservableCollection<UserRateItemDTO>();
     Rates = new ReadOnlyObservableCollection<UserRateItemDTO>(rates);
 }
        public FacultySecretaryViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, FacultySecretaryDTO facultySecretary)
            : base(userInterop, controllerInterop, dispatcher)
        {
            faculties = new List<FacultyDTO>();

            originalEntity = facultySecretary;
        }
        public PracticeTeacherViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            this.originalEntity = new PracticeTeacherDTO();

            this.selector = new SelectorViewModel(UserInterop, ControllerInterop, Dispatcher, true);
        }
        public FacultyViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, FacultyDTO faculty)
            : base(userInterop, controllerInterop, dispatcher)
        {
            institutes = new List<InstituteDTO>();

            originalEntity = faculty;
        }
        public CathedraViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, CathedraDTO cathedra)
            : base(userInterop, controllerInterop, dispatcher)
        {
            faculties = new List<FacultyDTO>();

            originalEntity = cathedra;
        }
        public InstituteAdminViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            institutes = new List<InstituteDTO>();

            originalEntity = new InstituteAdminDTO() { Role = UserRoles.InstituteAdmin };
        }
        public InstituteAdminViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, InstituteAdminDTO instituteAdmin)
            : base(userInterop, controllerInterop, dispatcher)
        {
            institutes = new List<InstituteDTO>();

            originalEntity = instituteAdmin;
        }
        public StudentViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, StudentDTO student)
            : base(userInterop, controllerInterop, dispatcher)
        {
            groups = new List<GroupDTO>();

            originalEntity = student;
        }
        public TeacherLecturesViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, TeacherDTO teacher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            this.originalEntity = teacher;

            this.Model = new TeacherModel(teacher);
            this.Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);
        }
        public InstituteViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, InstituteDTO institute)
            : base(userInterop, controllerInterop, dispatcher)
        {
            this.originalEntity = institute;

            this.Model = new InstituteModel(institute);
            this.Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);
        }
        public MainAdminViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, SystemUserDTO mainAdmin)
            : base(userInterop, controllerInterop, dispatcher)
        {
            originalEntity = mainAdmin;

            Model = new SystemUserModel(mainAdmin);
            Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);
        }
        public MainAdminViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            originalEntity = new SystemUserDTO();

            Model = new SystemUserModel(originalEntity as SystemUserDTO) { Role = UserRoles.MainAdmin };
            this.Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);
        }
        public ControlChatViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, ControlDTO control)
            : base(userInterop, controllerInterop, dispatcher)
        {
            this.messages = new ObservableCollection<ControlMessageDTO>();
            this.messagesRO = new ReadOnlyObservableCollection<ControlMessageDTO>(this.messages);

            this.Control = control;
        }
        public PracticeTeacherViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, PracticeTeacherDTO practiceTeacher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            this.originalEntity = practiceTeacher;

            var teacher = ControllerInterop.Service.GetTeacher(ControllerInterop.Session, practiceTeacher.Teacher.ID);
            var cathedra = ControllerInterop.Service.GetCathedra(ControllerInterop.Session, teacher.Cathedra.ID);
            var faculty = ControllerInterop.Service.GetFaculty(ControllerInterop.Session, cathedra.FacultyID);

            this.selector = new SelectorViewModel(userInterop, controllerInterop, dispatcher, faculty, selector_SelectorItemChanged, true);
        }
        public StudentViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            groups = new List<GroupDTO>();

            originalEntity = new StudentDTO();

            Model = new StudentModel(originalEntity as StudentDTO) { Role = UserRoles.Student };

            this.Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);
        }
        public UsersStructureViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
            : base(userInterop, controllerInterop, dispatcher)
        {
            addCommands = new ObservableCollection<NamedCommandData>();
            addCommandsRO = new ReadOnlyObservableCollection<NamedCommandData>(addCommands);

            entitiesProvider = new UsersTreeViewModel(userInterop, controllerInterop, dispatcher);
            entitiesProvider.SelectedEntityChangedEvent += new SelectedEntityChangedHandler(EntitesProvider_SelectedEntityChangedEvent);

            DefineAddCommands();
        }
        public PracticeControlViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher, PracticeControlDTO control)
            : base(userInterop, controllerInterop, dispatcher)
        {
            originalEntity = control;

            Model = new PracticeControlModel(control);

            ChatViewModel = new ControlChatViewModel(UserInterop, ControllerInterop, Dispatcher, control);

            MarksViewModel = new ControlMarksViewModel(UserInterop, ControllerInterop, Dispatcher, control);

            Model.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(ModelPropertyChanged);

            if (IsExisted) MarksViewModel.ViewModelChanged += new EventHandler(MarksViewModel_ViewModelChanged);
        }
 public BaseSaveableViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
     : base(userInterop, controllerInterop, dispatcher)
 {
 }
 public LessonTreeViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
     : base(userInterop, controllerInterop, dispatcher)
 {
 }
 public LessonStuctureViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
     : base(userInterop, controllerInterop, dispatcher)
 {
     entitiesProvider = new LessonTreeViewModel(userInterop, controllerInterop, dispatcher);
     entitiesProvider.SelectedEntityChangedEvent += new SelectedEntityChangedHandler(EntitesProvider_SelectedEntityChangedEvent);
 }
 public UserInformationViewModel(IUserInterop userInterop, IControllerInterop controllerInterop, Dispatcher dispatcher)
     : base(userInterop, controllerInterop, dispatcher)
 {
 }