public ActionResult CreateAttr(Attr model, long tableID, string tableName) { ViewBag.tableID = tableID; ViewBag.tableName = tableName; using (AttrContext db = new AttrContext("cs_xam")) { if (ModelState.IsValid) { // нет длины if (model.length == null && model.length_fn == null) { ModelState.AddModelError("Ошибка", "Должна быть указана точная длина значения или её НЧ."); return View(model); } // и точное, и НЧ if (model.length != null && model.length_fn != null) { ModelState.AddModelError("Ошибка", "Должна быть указана или точная длина значения, или её НЧ, но не оба значения сразу."); return View(model); } // проверка НЧ длины по формату if (!string.IsNullOrEmpty(model.length_fn) && !Regex.Match(model.length_fn, @"^\d+;\d+;\d+;\d+$").Success) { ModelState.AddModelError("Ошибка", "Нечёткое число длины должно быть в формате \"d;d;d;d\", где \"d\" - это целое число. Например: 4;6;9;12"); return View(model); } // нет мощности if (model.power == null && model.power_fn == null) { ModelState.AddModelError("Ошибка", "Должно быть указано точное значение мощности или его НЧ."); return View(model); } // и точное, и НЧ if (model.power != null && model.power_fn != null) { ModelState.AddModelError("Ошибка", "Должно быть указано или точное значение мощности, или его НЧ, но не оба значения сразу."); return View(model); } // проверка НЧ длины по формату if (!string.IsNullOrEmpty(model.power_fn) && !Regex.Match(model.power_fn, @"^\d+;\d+;\d+;\d+$").Success) { ModelState.AddModelError("Ошибка", "Нечёткое число мощности должно быть в формате \"d;d;d;d\", где \"d\" - это целое число. Например: 4;6;9;12"); return View(model); } model.table_id = tableID; db.Attrs.Add(model); db.SaveChanges(); //logger.Info(string.Format("Создан атрибут [{0}]", model.id_attr)); return RedirectToAction("Index"); } else { return View(model); } } }
public ActionResult EditAttr(Attr model) { using (AttrContext db = new AttrContext("cs_xam")) { if (db.Attrs.Any(a => a.id_attr == model.id_attr)) { if (ModelState.IsValid) { // нет длины if (model.length == null && model.length_fn == null) { ModelState.AddModelError("Ошибка", "Должна быть указана точная длина значения или её НЧ."); return View(model); } // и точное, и НЧ if (model.length != null && model.length_fn != null) { ModelState.AddModelError("Ошибка", "Должна быть указана или точная длина значения, или её НЧ, но не оба значения сразу."); return View(model); } // проверка НЧ длины по формату if (!string.IsNullOrEmpty(model.length_fn) && !Regex.Match(model.length_fn, @"^\d+;\d+;\d+;\d+$").Success) { ModelState.AddModelError("Ошибка", "Нечёткое число длины должно быть в формате \"d;d;d;d\", где \"d\" - это целое число. Например: 4;6;9;12"); return View(model); } // нет мощности if (model.power == null && model.power_fn == null) { ModelState.AddModelError("Ошибка", "Должно быть указано точное значение мощности или его НЧ."); return View(model); } // и точное, и НЧ if (model.power != null && model.power_fn != null) { ModelState.AddModelError("Ошибка", "Должно быть указано или точное значение мощности, или его НЧ, но не оба значения сразу."); return View(model); } // проверка НЧ длины по формату if (!string.IsNullOrEmpty(model.power_fn) && !Regex.Match(model.power_fn, @"^\d+;\d+;\d+;\d+$").Success) { ModelState.AddModelError("Ошибка", "Нечёткое число мощности должно быть в формате \"d;d;d;d\", где \"d\" - это целое число. Например: 4;6;9;12"); return View(model); } db.Entry(model).State = EntityState.Modified; db.SaveChanges(); //logger.Info(string.Format("Изменён атрибут [{0}]", model.id_attr)); return RedirectToAction("Index"); } else { return View(model); } } else { ModelState.AddModelError("Ошибка", "В вашей таблице нет такого атрибута."); return View(model); } } }