public ActionResult DeleteScenario(int id) { //long userID = Convert.ToInt64(Session["userID"]); try { using (Models.ScenarioContext db = new Models.ScenarioContext("cs_xam")) { if (db.Scenaries.Any(s => s.id_scenario == id && s.user_id == userID)) { var scen = (from s in db.Scenaries where s.id_scenario == id select s).First(); scen.isActive = false; //db.Scenaries.Remove(scen); db.SaveChanges(); // если удаляется текущий сценарий, то его на ноль if (scenarioID == id) { Session["scenario"] = null; } logger.Info(string.Format("Сценарий [{0}] переведён в неактивные", id)); return Json(new { ok = "1" }, JsonRequestBehavior.AllowGet); } else { return Json( new { ok = "Этот сценарий принадлежит другому пользователю." }, JsonRequestBehavior.AllowGet ); } //return PartialView("_MyScenaries", scens); } } catch (Exception ex) { //ModelState.AddModelError("Ошибка", string.Format("Не удалось удалить сценарий. {0}", ex.Message)); //return View("_MyScenaries", ModelState); //throw; logger.Error(string.Format("Не удалось удалить сценарий [{0}]. {1}", id, ex.Message)); return Json(new { ok = ex.Message }, JsonRequestBehavior.AllowGet); } }
public BaseController() { try { userID = Convert.ToInt64(System.Web.HttpContext.Current.Session["userID"]); } catch { } try { scenarioID = Convert.ToInt64(System.Web.HttpContext.Current.Session["scenario"]); } catch { } if (userID != 0) { Models.ScenarioContext db = new Models.ScenarioContext("cs_xam"); var query = db.Scenaries .Select(s => new { s.id_scenario, s.name, s.user_id, s.isActive }) .Where(s => s.isActive && s.user_id == userID); ViewBag.Scenaries = new SelectList(query.AsEnumerable(), "id_scenario", "name"); } //else //{ // RedirectToAction("Login", "Account"); //} }
public ActionResult MyScenaries() { //long userID = Convert.ToInt64(Session["userID"]); using (Models.ScenarioContext db = new Models.ScenarioContext("cs_xam")) { var scens = (from s in db.Scenaries where s.user_id == userID && s.isActive select s).ToList<Scenario>(); return PartialView("_MyScenaries", scens); } }