public SubjectDetailsViewModel(string id, MainWindowViewModel mainWindowViewModel)
        {
            _mainWindowViewModel = mainWindowViewModel;
            _adding = false;
            Subject = SubjectDao.FindById(id);

            var softwareList = SoftwareDao.FindAll();

            foreach (var software in softwareList)
            {
                var softwareViewModel = new SoftwareViewModel(software)
                {
                    IsChecked = Subject.RequiredSoftware.FirstOrDefault(s => s.Id == software.Id) != null
                };
                SoftwareList.Add(softwareViewModel);
            }

            var courses = CourseDao.FindAll();

            courses.ForEach(c => Courses.Add(c));

            foreach (var subject in SubjectDao.FindAll())
            {
                _takenIds.Add(subject.Id);
            }
        }
        public CourseDetailsViewModel(string id)
        {
            _adding = false;
            Course  = CourseDao.FindById(id);

            foreach (var course in CourseDao.FindAll())
            {
                _takenIds.Add(course.Id);
            }
        }
        public CourseDetailsViewModel()
        {
            _adding = true;
            Course  = new Course {
                DateOpened = DateTime.Now
            };

            foreach (var course in CourseDao.FindAll())
            {
                _takenIds.Add(course.Id);
            }
        }
        public SubjectDetailsViewModel(MainWindowViewModel mainWindowViewModel)
        {
            _mainWindowViewModel = mainWindowViewModel;
            _adding = true;
            Subject = new Subject();

            var softwareList = SoftwareDao.FindAll();

            softwareList.ForEach(s => SoftwareList.Add(new SoftwareViewModel(s)));

            var courses = CourseDao.FindAll();

            courses.ForEach(c => Courses.Add(c));

            foreach (var subject in SubjectDao.FindAll())
            {
                _takenIds.Add(subject.Id);
            }
        }
        public CourseListViewModel()
        {
            var courses = CourseDao.FindAll();

            courses.ForEach(c => Courses.Add(c));
        }