private void AddStudent()
		{
			Student student = new Student();
			context.Insert(student);
			CurrentStudent = new StudentViewModel(student, context);
			Students.Add(CurrentStudent);
		}
		public InquiryWorkspaceViewModel(
			StudentContext context,
			ObservableCollection<CollegeLife> collegeLife,
			ObservableCollection<DegreeProgram> degreePrograms,
			ObservableCollection<Term> terms)
		{
			if(context == null)
			{
				throw new ArgumentNullException("context");
			}

			if(collegeLife == null)
			{
				throw new ArgumentNullException("collegeLife");
			}

			if(degreePrograms == null)
			{
				throw new ArgumentNullException("degreePrograms");
			}

			if(terms == null)
			{
				throw new ArgumentNullException("terms");
			}

			Terms = terms;
			CollegeLife = collegeLife;
			DegreePrograms = degreePrograms;
			this.context = context;

			SelectedTerm = 0;
			SelectedProgram = 0;
			SelectedInterest = 0;

			Student = new StudentViewModel(context.Create(), context);
			InquireCommand = new DelegateCommand(o => Inquire());
			ApplyCommand = new DelegateCommand(o => Apply());
		}
		public StudentWorkspaceViewModel(ObservableCollection<StudentViewModel> students, StudentContext context)
		{
			if(students == null)
			{
				throw new ArgumentNullException("students");
			}

			Students = students;
			Students.CollectionChanged += (s, o) => {
				if(o.OldItems != null && o.OldItems.Contains(CurrentStudent))
				{
					CurrentStudent = null;
				}
			};

			CurrentStudent = students.Count > 0 ? students[0] : null;

			Add = new DelegateCommand(o => AddStudent());
			Delete = new DelegateCommand(o => DeleteStudent());
			Accept = new DelegateCommand(o => AcceptStudent());
			Deny = new DelegateCommand(o => DenyStudent());
			this.context = context;
		}