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);
 }