public ActionResult SavePermission(CompanyPermissionVm permission)
 {
     try
     {
         var mgr = new AspNetClaimsManager();
         if (permission.Id == null)
         {
             mgr.Insert(new AspNetClaims()
             {
                 Id         = Guid.NewGuid(),
                 ClaimType  = permission.ClaimType,
                 ClaimValue = permission.ClaimValue,
                 CreatedAt  = DateTime.Now
             });
         }
         else
         {
             var claim = mgr.GetById(Guid.Parse(permission.Id));
             claim.ClaimValue = permission.ClaimValue;
             claim.ClaimType  = permission.ClaimType;
             mgr.Update(claim);
         }
         return(Json(new JsonResponse()
         {
             IsSucess = true
         }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(new JsonResponse()
         {
             IsSucess = false, ErrorMessage = ex.Message
         }, JsonRequestBehavior.AllowGet));
     }
 }
 public ActionResult EditPermission(Guid?id)
 {
     try
     {
         var mgr   = new AspNetClaimsManager();
         var claim = mgr.GetById(id.Value, "RoleClaims");
         var model = new CompanyPermissionVm()
         {
             Id          = claim.Id.ToString(),
             ClaimType   = claim.ClaimType,
             ClaimValue  = claim.ClaimValue,
             RolesCount  = claim.RoleClaims.Count.ToString(),
             IsEditable  = !SecurityConstants.ClaimsAll.Contains(claim.ClaimValue),
             IsDeletable = !SecurityConstants.ClaimsAll.Contains(claim.ClaimValue)
         };
         TempData["ClaimTypes"] = new SelectList(ClaimTypes, "Value", "Text");
         return(PartialView("~/Views/Company/PermissionAdd.cshtml", model));
     }
     catch (Exception ex)
     {
         return(Json(new JsonResponse()
         {
             IsSucess = false, ErrorMessage = ex.Message
         }, JsonRequestBehavior.AllowGet));
     }
 }