public ActionResult PermissionCost(PermissionCostViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var res = service.UpdatePermissions(viewModel.CurrCategory);
         viewModel.Success = res.Success;
         if (!res.Success)
         {
             ModelState.AddModelError("", res.Message);
         }
     }
     return(View(viewModel));
 }
        public ActionResult PermissionCost(Guid?id)
        {
            PermissionCostViewModel viewModel = new PermissionCostViewModel();

            var resCategories = service.GetAll();

            if (!resCategories.Success)
            {
                return(Json(resCategories.Message, JsonRequestBehavior.AllowGet));
            }
            if (!resCategories.Entities.Any())
            {
                return(RedirectToAction("Index"));
            }
            viewModel.AllCategories = resCategories.Entities.ToList();

            if (!id.HasValue)
            {
                id = resCategories.Entities.First().ID;
            }
            var resCategory = service.GetWithPermissionList(id.Value);

            if (!resCategory.Success)
            {
                return(Json(resCategory.Message, JsonRequestBehavior.AllowGet));
            }

            if (resCategory.Entity == null)
            {
                return(HttpNotFound());
            }
            viewModel.CurrCategory = resCategory.Entity;
            viewModel.CurrCategory.PermissionProperties =
                viewModel.CurrCategory.PermissionProperties.OrderBy(x => x.ViewOrder).ToList();
            return(View(viewModel));
        }