public ActionResult Edit(int show_id) { //проверить относится ли show_id к текущему пользователю, кроме Admin string current_user = System.Web.HttpContext.Current.User.Identity.Name; if (UserManager.GetUserShows(current_user).Any(x => x.SHOW_ID == show_id) || IsAdmin) { var show = ShowManager.GetShow(show_id); return(View(show)); } return(RedirectToAction("User", "Show", new { user_login = current_user })); }
public ActionResult Edit(Show show) { if (ModelState.IsValid) { //Если не Admin, то поле ALLOWMOD и PAID брать из базы if (!IsAdmin) { Show sh = ShowManager.GetShow(show.SHOW_ID); if (sh != null) { show.ALLOWMOD = sh.ALLOWMOD; show.PAID = sh.PAID; } } SQLReturnResult res = ShowManager.SaveShow(show); switch (res.Result) { case AppEnums.SQLExecResult.Success: UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Сохранить_параметры_заказа, string.Format("Сохранение параметров заказа № {0}", show.SHOW_ID)); //если заказ добавлял админ, то перенаправить в /Admin/UserShows, иначе /User/UserShows if (IsAdmin) { AppUser user = UserManager.GetUser(show.USER_ID); return(RedirectToAction("User", "Show", new { user_login = user.USER_LOGIN })); } TempData["result"] = "Операция прошла успешно!"; return(RedirectToAction("User", "Show")); case AppEnums.SQLExecResult.SyntaxError: TempData["result"] = "При сохранении данных произошла ошибка!" + res.Message; break; } } return(View(show)); }