public async Task<ActionResult> Delete(Department department)
 {
     try
     {
         _departmentRepository.Delete(department.Id);
         return RedirectToAction("Index");
     }
     catch (DataException /* dex */)
     {
         //Log the error (uncomment dex variable name after DataException and add a line here to write a log.
         ModelState.AddModelError(string.Empty, "Unable to delete. Try again, and if the problem persists contact your system administrator.");
         return View(department);
     }
 }
 public void Update(Department student)
 {
     var existingDepartment = Database.Departments.Find(x => x.Id == student.Id);
     Database.Departments.Remove(existingDepartment);
     Database.Departments.Add(student);
 }
 private void ValidateOneAdministratorAssignmentPerInstructor(Department department)
 {
     if (department.InstructorId != null)
     {
         Department duplicateDepartment = _departmentRepository.Get()
             .FirstOrDefault(d => d.InstructorId == department.InstructorId);
         if (duplicateDepartment != null && duplicateDepartment.Id != department.Id)
         {
             string errorMessage = String.Format(
                 "Instructor {0} {1} is already administrator of the {2} department.",
                 duplicateDepartment.Instructor.FirstMidName,
                 duplicateDepartment.Instructor.LastName,
                 duplicateDepartment.Name);
             ModelState.AddModelError(string.Empty, errorMessage);
         }
     }
 }
 public void Create(Department student)
 {
     Database.Departments.Add(student);
 }