public ViewResult Edit(int TeacherId, int DepartmentId)
        {
            StaffingStructure staffingStructure = db.StaffingStructures.FirstOrDefault(p => p.TeacherId == TeacherId && p.DepartmentId == DepartmentId);
            SelectList        teachers          = new SelectList(db.Teachers, "Id", "LastName");
            SelectList        departments       = new SelectList(db.Departments, "Id", "Title");

            ViewBag.Teachers    = teachers;
            ViewBag.Departments = departments;
            return(View(staffingStructure));
        }
        public ActionResult Delete(int TeacherId, int DepartmentId)
        {
            StaffingStructure staffingStructure = db.StaffingStructures.Find(TeacherId, DepartmentId);

            if (staffingStructure != null)
            {
                db.StaffingStructures.Remove(staffingStructure);
                db.SaveChanges();
            }
            if (staffingStructure != null)
            {
                TempData["message"] = string.Format("Изменения в штатном расписании были сохранены");
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(StaffingStructure staffingStructure)
        {
            SelectList teachers    = new SelectList(db.Teachers, "Id", "LastName");
            SelectList departments = new SelectList(db.Departments, "Id", "Title");

            ViewBag.Teachers    = teachers;
            ViewBag.Departments = departments;
            if (ModelState.IsValid)
            {
                if (staffingStructure.TeacherId == 0 && staffingStructure.DepartmentId == 0)
                {
                    db.StaffingStructures.Add(staffingStructure);
                }
                else
                {
                    StaffingStructure dbEntry = db.StaffingStructures.Find(staffingStructure.TeacherId, staffingStructure.DepartmentId);
                    if (dbEntry != null)
                    {
                        dbEntry.Post         = staffingStructure.Post;
                        dbEntry.Rate         = staffingStructure.Rate;
                        dbEntry.TeacherId    = staffingStructure.TeacherId;
                        dbEntry.DepartmentId = staffingStructure.DepartmentId;
                    }
                    else
                    {
                        db.StaffingStructures.Add(staffingStructure);
                    }
                }
                db.SaveChanges();
                TempData["message"] = string.Format("Изменения в штатном расписании были сохранены");
                return(RedirectToAction("Index"));
            }
            else
            {
                return(View(staffingStructure));
            }
        }