public ActionResult AddDepartment(Departments d) { if (string.IsNullOrEmpty(d.name_department)) //если ввели пустое название департамента { ModelState.AddModelError("name_department", "Заполните данное поле(серверная валидация)"); } else if (d.name_department.Length > 50) //если превысили допустимое количество символов для поля имейла { ModelState.AddModelError("name_department", "Превышана максимальнаая длина в 50 символов(серверная валидация)"); } else if (db.Departments.FirstOrDefault(dep => dep.name_department == d.name_department) != null) //проверка на существования департамента с введенным именем { ModelState.AddModelError("name_department", "Департамент с таким именем уже существует(серверная валидация)"); } if (ModelState.IsValid) //если ошибок нет, пишем в базу и перенаправляем пользователя на главную страницу { try { db.Departments.Add(d); db.SaveChanges(); return RedirectToAction("Index"); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } //если ошибки есть возвращаем страницу на исправление return View(d); }
public ActionResult EditDepartment(Departments d) { if (string.IsNullOrEmpty(d.name_department)) //если ввели пустое название департамента { ModelState.AddModelError("name_department", "Заполните данное поле(серверная валидация)"); } else if (d.name_department.Length > 50) //если превысили допустимое количество символов для поля имейла { ModelState.AddModelError("name_department", "Превышана максимальнаая длина в 50 символов(серверная валидация)"); } else { //считаем количество департаментов с введенным названием, не включая текущий var c = db.Departments.Count(dep => dep.name_department == d.name_department && dep.id_department != d.id_department); //если есть хоть один департамент с таким именем, то сообщаем что таком имя занято if (c > 0) { ModelState.AddModelError("name_department", "Департамент с таким именем уже существует(серверная валидация)"); } } if (ModelState.IsValid) //если ошибок нет то делаем update данной записи { try { Departments newDepartments = new Departments { id_department = d.id_department}; db.Departments.Attach(newDepartments); newDepartments.name_department = d.name_department; db.SaveChanges(); return RedirectToAction("Index"); } catch (Exception e) { ModelState.AddModelError("", e.Message); } } //если ошибки есть возвращаем страницу на исправление return View(d); }