Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }