Example #1
0
        public ActionResult RoleEdit(int id, SuncereRole model)
        {
            AjaxResult result;

            try
            {
                int[]                       permissionIds        = Request.Params["SuncerePermissions"].Split(',').Select(o => int.Parse(o)).ToArray();
                FluentModel                 db                   = Session.GetFluentModel();
                SuncereRoleRepository       repository           = new SuncereRoleRepository(db);
                SuncerePermissionRepository permissionRepository = new SuncerePermissionRepository(db);
                SuncereRole                 role                 = repository.FirstOrDefault(id);
                role.Remark             = model.Remark;
                role.LastModifierUserId = Session.GetCurrentUser().Id;
                foreach (SuncerePermission permission in role.SuncerePermissions)
                {
                    permission.SuncereRoles.Remove(role);
                }
                role.SuncerePermissions.Clear();
                foreach (int permissionId in permissionIds)
                {
                    SuncerePermission permission = permissionRepository.FirstOrDefault(permissionId);
                    role.SuncerePermissions.Add(permission);
                    permission.SuncereRoles.Add(role);
                }
                db.SaveChanges();
                result = AjaxResult.GetEditAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetEditAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Example #2
0
        public ActionResult PermissionDelete(string ids)
        {
            AjaxResult result;

            try
            {
                int[]       idArray = ids.Split(',').Select(o => int.Parse(o)).ToArray();
                FluentModel db      = Session.GetFluentModel();
                SuncerePermissionRepository    repository = new SuncerePermissionRepository(db);
                IQueryable <SuncerePermission> query      = repository.Query(idArray);
                foreach (SuncerePermission permission in query)
                {
                    foreach (SuncereRole role in permission.SuncereRoles)
                    {
                        role.SuncerePermissions.Remove(permission);
                    }
                    permission.SuncereRoles.Clear();
                }
                db.Delete(query);
                db.SaveChanges();
                result = AjaxResult.GetDeleteAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetDeleteAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Example #3
0
        public ActionResult RoleAdd(SuncereRole model)
        {
            AjaxResult result;

            try
            {
                int[]                       permissionIds        = Request.Params["SuncerePermissions"].Split(',').Select(o => int.Parse(o)).ToArray();
                FluentModel                 db                   = Session.GetFluentModel();
                SuncereRoleRepository       repository           = new SuncereRoleRepository(db);
                SuncerePermissionRepository permissionRepository = new SuncerePermissionRepository(db);
                if (repository.IsExist(model.Name))
                {
                    throw new Exception("名称已存在。");
                }
                model.Status        = true;
                model.CreatorUserId = Session.GetCurrentUser().Id;
                foreach (int permissionId in permissionIds)
                {
                    SuncerePermission permission = permissionRepository.FirstOrDefault(permissionId);
                    model.SuncerePermissions.Add(permission);
                    permission.SuncereRoles.Add(model);
                }
                db.Add(model);
                db.SaveChanges();
                result = AjaxResult.GetAddAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetAddAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Example #4
0
        public ActionResult PermissionEdit(int id, SuncerePermission model)
        {
            AjaxResult result;

            try
            {
                FluentModel db = Session.GetFluentModel();
                SuncerePermissionRepository repository = new SuncerePermissionRepository(db);
                SuncerePermission           permission = repository.FirstOrDefault(id);
                permission.Name               = model.Name;
                permission.ParentId           = model.ParentId;
                permission.Controller         = model.Controller;
                permission.Action             = model.Action;
                permission.Order              = model.Order;
                permission.Remark             = model.Remark;
                permission.LastModifierUserId = Session.GetCurrentUser().Id;
                db.SaveChanges();
                result = AjaxResult.GetEditAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetEditAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Example #5
0
        public ActionResult PermissionAdd(SuncerePermission model)
        {
            AjaxResult result;

            try
            {
                FluentModel db = Session.GetFluentModel();
                SuncerePermissionRepository repository = new SuncerePermissionRepository(db);
                if (repository.IsExist(model.Controller, model.Action))
                {
                    throw new Exception("权限已存在。");
                }
                if (model.Type == (int)PermissionType.Module)
                {
                    model.ParentId = 0;
                    model.Action   = null;
                }
                model.Status        = true;
                model.CreatorUserId = Session.GetCurrentUser().Id;
                SuncereRole role = db.SuncereRoles.First();
                role.SuncerePermissions.Add(model);
                model.SuncereRoles.Add(role);
                db.Add(model);
                db.SaveChanges();
                result = AjaxResult.GetAddAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetAddAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }
Example #6
0
        public ActionResult PermissionEdit(int id)
        {
            FluentModel db = Session.GetFluentModel();
            SuncerePermissionRepository repository = new SuncerePermissionRepository(db);
            List <SuncerePermission>    modules    = db.SuncerePermissions.Where(o => o.Status && o.Type == (int)PermissionType.Module).ToList();

            ViewData["SuncerePermissions"] = modules;
            return(View(repository.FirstOrDefault(id)));
        }
Example #7
0
        public ActionResult PermissionList(DateTime?startTime, DateTime?endTime, string keyword)
        {
            FluentModel db = Session.GetFluentModel();
            SuncerePermissionRepository repository = new SuncerePermissionRepository(db);
            List <SuncerePermission>    list       = repository.Query(startTime, endTime, keyword).ToList();

            ViewData["startTime"] = startTime;
            ViewData["endTime"]   = endTime;
            ViewData["keyword"]   = keyword;
            return(View(list));
        }
Example #8
0
        public ActionResult PermissionEnable(int id, bool status)
        {
            AjaxResult result;

            try
            {
                FluentModel db = Session.GetFluentModel();
                SuncerePermissionRepository repository = new SuncerePermissionRepository(db);
                SuncerePermission           role       = repository.FirstOrDefault(id);
                role.Status             = status;
                role.LastModifierUserId = Session.GetCurrentUser().Id;
                db.SaveChanges();
                result = AjaxResult.GetEditAjaxResult(true);
            }
            catch (Exception e)
            {
                result = AjaxResult.GetEditAjaxResult(false);
            }
            return(Json(result, JsonRequestBehavior.DenyGet));
        }