public ActionResult AjaxValueOperation(int id, Object Value) { if(!HttpContext.Request.IsAjaxRequest()) { return Badrequest(); } try { ValueModel model; ProjectsReader dal = new ProjectsReader(); IValue original = dal.GetValue(id); HttpContextWarker contexter = new HttpContextWarker(HttpContext); bool canModify = contexter.CanModify(original.GetProject()); if (contexter.Method.Equals(HttpVerbs.Post)) { original.SetValue(Value); original.Author = contexter.User.Name; original.Time = DateTime.Now; model = new ValueModel(original, canModify); if(!canModify) { throw new NotEnoughRightsException(ResourcesHelper.GetText("OnNotEnoughForModifyingValue", contexter.GetCulture())); } if(!ProjectHelper.Save(model)) { throw new InvalidUserInputException(); } } else { model = new ValueModel(original, canModify); } return PartialView("JustLookValue", model); } catch(ProjectWatcher.Errors.ProjectWatcherException e) { return Json(new {error = e.Message}, JsonRequestBehavior.AllowGet); } }
public PartialViewResult EditValue(Int32 id) { ProjectsReader reader = new ProjectsReader(); IValue value = reader.GetValue(id); IProject project = reader.GetProject(value.ProjectId); HttpContextWarker contexter = new HttpContextWarker(HttpContext); if(!contexter.CanModify(project)) { throw new NotEnoughRightsException(); } ValueModel model = new ValueModel(reader.GetValue(id), true); ViewData["culture"] = contexter.GetCulture(); return PartialView("ValueEdit", model); }