public ActionResult Index() { //List<TablesAndAttributes> tnaList = new List<TablesAndAttributes>(); TableContext db = new TableContext("cs_xam"); //using (AttributeContext db = new AttributeContext("cs_xam")) //{ var userTables = (from t in db.Tables where t.scenario_id == scenarioID select t); //foreach (Table model in userTables) //{ // tnaList.Add(new TablesAndAttributes(model, new List<xam.Models.Attribute>())); //} //TablesAndAttributes tna = new TablesAndAttributes(); return View(userTables); //} }
public ActionResult EditTable(long id) { using (TableContext db = new TableContext("cs_xam")) { if (db.Tables.Any(t => t.id_table == id && t.scenario_id == scenarioID)) { var table = (from t in db.Tables where t.id_table == id select t).First(); return View(table); } else { ModelState.AddModelError("Ошибка", "В вашем сценарии нет такой таблицы."); return RedirectToAction("Index"); } } }
public ActionResult EditTable(xam.Models.Table model) { using (TableContext db = new TableContext("cs_xam")) { if (db.Tables.Any(t => t.id_table == model.id_table && t.scenario_id == scenarioID)) { 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); } db.Entry(model).State = EntityState.Modified; db.SaveChanges(); logger.Info(string.Format("Изменена таблица [{0}]", model.id_table)); return RedirectToAction("Index"); } else { return View(model); } } else { ModelState.AddModelError("Ошибка", "В вашем сценарии нет такой таблицы."); return View(model); } } }
public ActionResult DeleteTable(int id) { try { using (TableContext db = new TableContext("cs_xam")) { if (db.Tables.Any(t => t.id_table == id && t.scenario_id == scenarioID)) { var tabl = (from t in db.Tables where t.id_table == id select t).First(); db.Tables.Remove(tabl); db.SaveChanges(); logger.Info(string.Format("Удалена таблица [{0}]", id)); } else { throw new Exception("В вашем сценарии нет такой таблицы"); } } } catch (Exception ex) { logger.Error(string.Format("Не удалось удалить таблицу [{0}]. {1}", id, ex.Message)); ModelState.AddModelError("Ошибка", string.Format("Не удалось удалить таблицу. {0}", ex.Message)); } //TableContext dbTables = new TableContext("cs_xam"); //var userTables = (from t in dbTables.Tables where t.scenario_id == scenarioID select t); //return View("Index", userTables); return RedirectToAction("Index"); }