public virtual ActionResult Create(MembershipGroup model, string @return)
 {
     JsonResultData data = new JsonResultData(ModelState);
     if (ModelState.IsValid)
     {
         data.RunWithTry((resultData) =>
         {
             model.Membership = Membership;
             _manager.Add(model);
             resultData.RedirectUrl = @return;
         });
     }
     return Json(data);
 }
        public virtual ActionResult Delete(MembershipGroup[] model)
        {
            ModelState.Clear();
            var data = new JsonResultData(ModelState);
            data.RunWithTry((resultData) =>
            {
                if (model != null)
                {
                    foreach (var o in model)
                    {
                        o.Membership = Membership;
                        _manager.Delete(o);
                    }
                }

                data.ReloadPage = true;
            });

            return Json(data);
        }
 public virtual ActionResult IsNameAvailable(string name)
 {
     var membershipGroup = new MembershipGroup() { Membership = Membership, Name = name }.AsActual();
     if (membershipGroup != null)
     {
         return Json(string.Format("{0} is duplicate.".Localize(), name), JsonRequestBehavior.AllowGet);
     }
     return Json(true, JsonRequestBehavior.AllowGet);
 }