Beispiel #1
0
 public TablesAndAttributes(Table tableVal, List<Attr> attributesVal)
 {
     table = tableVal;
     attributes = attributesVal;
 }
        public ActionResult CreateTable(Table model)
        {
            using (TableContext db = new TableContext("cs_xam"))
            {
                if (ModelState.IsValid)
                {
                    // нет числа записей
                    if (model.recordsCount == null && model.recordsCount_fn == null)
                    {
                        ModelState.AddModelError("Ошибка", "Должно быть указано точное количество записей или его НЧ.");
                        return View(model);
                    }

                    // и точное, и НЧ
                    if (model.recordsCount != null && model.recordsCount_fn != null)
                    {
                        ModelState.AddModelError("Ошибка", "Должно быть указано или точное количество записей, или его НЧ, но не оба значения сразу.");
                        return View(model);
                    }

                    // проверка НЧ по формату
                    if (!string.IsNullOrEmpty(model.recordsCount_fn) && !Regex.Match(model.recordsCount_fn, @"^\d+;\d+;\d+;\d+$").Success)
                    {
                        ModelState.AddModelError("Ошибка", "Нечёткое число должно быть в формате \"d;d;d;d\", где \"d\" - это целое число. Например: 4;6;9;12");
                        return View(model);
                    }

                    model.scenario_id = scenarioID;
                    db.Tables.Add(model);
                    db.SaveChanges();

                    logger.Info(string.Format("Создана таблица [{0}]", model.id_table));

                    return RedirectToAction("Index");
                }
                else
                {
                    return View(model);
                }
            }
        }