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));
        }
        public ActionResult PermissionEdit([Bind(Include = "Id,Name,Type,Controller,Action,Order,ParentId,Icon,Status,Remark")] SuncerePermission permission)
        {
            if (ModelState.IsValid)
            {
                SuncerePermission item = model.SuncerePermission.Find(permission.Id);
                if (item == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    item.Type                 = permission.Type;
                    item.Controller           = permission.Controller;
                    item.Action               = permission.Action;
                    item.Order                = permission.Order;
                    item.ParentId             = permission.ParentId;
                    item.Icon                 = permission.Icon;
                    item.Status               = permission.Status;
                    item.Remark               = permission.Remark;
                    item.LastModificationTime = DateTime.Now;
                    model.SaveChanges();
                    return(RedirectToAction("PermissionList"));
                }
            }
            SelectList selectList = GetParentPermissionSelectList(permission.ParentId);

            ViewBag.ParentPermissionSelectList = selectList;
            return(View(permission));
        }
        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));
        }
        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));
        }
        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));
        }
        public ActionResult PermissionDeleteConfirmed(int id)
        {
            SuncerePermission permission = model.SuncerePermission.Find(id);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            model.SuncerePermission.Remove(permission);
            model.SaveChanges();
            return(RedirectToAction("PermissionList"));
        }
        public ActionResult PermissionDelete(int id)
        {
            SuncerePermission permission = model.SuncerePermission.Find(id);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            List <SuncerePermission> parentPermissionList = model.SuncerePermission.Where(o => o.Type == 1).ToList();

            ViewBag.ParentPermissionList = parentPermissionList;
            return(View(permission));
        }
        public ActionResult PermissionEdit(int id)
        {
            SuncerePermission permission = model.SuncerePermission.Find(id);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            SelectList selectList = GetParentPermissionSelectList(permission.ParentId);

            ViewBag.ParentPermissionSelectList = selectList;
            return(View(permission));
        }
        public ActionResult PermissionDetails(int id)
        {
            SuncerePermission permission = model.SuncerePermission.Find(id);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            List <SuncerePermission> parentPermissionList = GetParentPermissionList();

            ViewBag.ParentPermissionList = parentPermissionList;
            return(View(permission));
        }
        public ActionResult RolePermissionDelete(int roleId, int permissionId)
        {
            SuncereRole role = model.SuncereRole.Find(roleId);

            if (role == null)
            {
                return(HttpNotFound());
            }
            SuncerePermission permission = model.SuncerePermission.Find(permissionId);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            ViewBag.RoleId = roleId;
            return(View(permission));
        }
        public ActionResult RolePermissionDeleteConfirmed(int roleId, int permissionId)
        {
            SuncereRole role = model.SuncereRole.Find(roleId);

            if (role == null)
            {
                return(HttpNotFound());
            }
            SuncerePermission permission = model.SuncerePermission.Find(permissionId);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            role.SuncerePermission.Remove(permission);
            model.SaveChanges();
            return(RedirectToAction("RolePermissionList", new { roleId = roleId }));
        }
Exemple #12
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));
        }
        public ActionResult RolePermissionAdd(int roleId, int permissionId)
        {
            SuncereRole role = model.SuncereRole.Find(roleId);

            if (role == null)
            {
                return(HttpNotFound());
            }
            SuncerePermission permission = model.SuncerePermission.Find(permissionId);

            if (permission == null)
            {
                return(HttpNotFound());
            }
            if (!role.SuncerePermission.Any(o => o.Id == permissionId))
            {
                role.SuncerePermission.Add(permission);
                model.SaveChanges();
            }
            return(RedirectToAction("RolePermissionList", new { roleId = roleId }));
        }
        public ActionResult PermissionAdd([Bind(Include = "Name,Type,Controller,Action,Order,ParentId,Icon,Remark")] SuncerePermission permission)
        {
            if (ModelState.IsValid)
            {
                SuncerePermission item = model.SuncerePermission.FirstOrDefault(o => o.Name == permission.Name);
                if (item == null)
                {
                    permission.Status       = true;
                    permission.CreationTime = DateTime.Now;
                    model.SuncerePermission.Add(permission);
                    model.SaveChanges();
                    return(RedirectToAction("PermissionList"));
                }
                else
                {
                    ModelState.AddModelError("PermissionExist", "权限已存在!");
                }
            }
            SelectList selectList = GetParentPermissionSelectList(null);

            ViewBag.ParentPermissionSelectList = selectList;
            return(View(permission));
        }
 public void AirQualityPermission()
 {
     using (SuncereDataCenterModel db = new SuncereDataCenterModel())
     {
         DateTime          now           = DateTime.Now;
         SuncerePermission airPermission = new SuncerePermission()
         {
             Name         = "空气质量发布",
             Type         = 1,
             Controller   = "AirQuality",
             Order        = 1,
             Icon         = "air",
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission hourPermission = new SuncerePermission()
         {
             Name         = "城市小时空气质量",
             Type         = 2,
             Controller   = "CityAirQuality",
             Action       = "GetCityHourlyAirQuality",
             Order        = 1,
             ParentId     = 5,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission dayPermission = new SuncerePermission()
         {
             Name         = "城市日均空气质量",
             Type         = 2,
             Controller   = "CityAirQuality",
             Action       = "GetCityDailyAirQuality",
             Order        = 2,
             ParentId     = 5,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission monthPermission = new SuncerePermission()
         {
             Name         = "城市月份空气质量",
             Type         = 2,
             Controller   = "CityAirQuality",
             Action       = "GetCityMonthlyAirQuality",
             Order        = 3,
             ParentId     = 5,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission quarterPermission = new SuncerePermission()
         {
             Name         = "城市季度空气质量",
             Type         = 2,
             Controller   = "CityAirQuality",
             Action       = "GetCityQuarterlyAirQuality",
             Order        = 4,
             ParentId     = 5,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission yearPermission = new SuncerePermission()
         {
             Name         = "城市年度空气质量",
             Type         = 2,
             Controller   = "CityAirQuality",
             Action       = "GetCityYearlyAirQuality",
             Order        = 5,
             ParentId     = 5,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         db.SuncerePermission.Add(airPermission);
         db.SuncerePermission.Add(hourPermission);
         db.SuncerePermission.Add(dayPermission);
         db.SuncerePermission.Add(monthPermission);
         db.SuncerePermission.Add(quarterPermission);
         db.SuncerePermission.Add(yearPermission);
         db.SaveChanges();
     }
 }
 public void Init()
 {
     using (SuncereDataCenterModel db = new SuncereDataCenterModel())
     {
         DateTime    now  = DateTime.Now;
         SuncereUser user = new SuncereUser()
         {
             UserName     = "******",
             DisplayName  = "系统管理员",
             Password     = SHA1Encryption.Default.EncryptPassword("Suncere@123"),
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncereRole role = new SuncereRole()
         {
             Name         = "系统管理员",
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         user.SuncereRole.Add(role);
         db.SuncereUser.Add(user);
         SuncerePermission systemPermission = new SuncerePermission()
         {
             Name         = "系统管理",
             Type         = 1,
             Controller   = "System",
             Order        = 99,
             Icon         = "system",
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission userPermission = new SuncerePermission()
         {
             Name         = "用户管理",
             Type         = 2,
             Controller   = "System",
             Action       = "UserList",
             Order        = 1,
             ParentId     = 1,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission rolePermission = new SuncerePermission()
         {
             Name         = "角色管理",
             Type         = 2,
             Controller   = "System",
             Action       = "RoleList",
             Order        = 2,
             ParentId     = 1,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         SuncerePermission permissionPermission = new SuncerePermission()
         {
             Name         = "权限管理",
             Type         = 2,
             Controller   = "System",
             Action       = "PermissionList",
             Order        = 3,
             ParentId     = 1,
             Status       = true,
             Static       = true,
             CreationTime = now
         };
         role.SuncerePermission.Add(systemPermission);
         role.SuncerePermission.Add(userPermission);
         role.SuncerePermission.Add(rolePermission);
         role.SuncerePermission.Add(permissionPermission);
         db.SuncereRole.Add(role);
         db.SuncerePermission.Add(systemPermission);
         db.SuncerePermission.Add(userPermission);
         db.SuncerePermission.Add(rolePermission);
         db.SuncerePermission.Add(permissionPermission);
         db.SaveChanges();
     }
 }
Exemple #17
0
        public void InitData()
        {
            SuncereUser user = new SuncereUser()
            {
                UserName = "******",
                Password = AsymmetricEncryption.Default.Encrypt("123456"),
                Status   = true,
                IsStatic = true
            };
            SuncereRole role = new SuncereRole()
            {
                Name     = LanguageHelper.L("admin"),
                Status   = true,
                IsStatic = true
            };
            SuncerePermission system = new SuncerePermission()
            {
                ParentId   = 0,
                Name       = LanguageHelper.L("SystemManage"),
                Type       = 0,
                Controller = "System",
                Action     = "",
                Order      = 99,
                Icon       = "&#xe62e;",
                Status     = true,
                IsStatic   = true
            };
            SuncerePermission roleList = new SuncerePermission()
            {
                ParentId   = 1,
                Name       = LanguageHelper.L("RoleList"),
                Type       = 1,
                Controller = "System",
                Action     = "RoleList",
                Order      = 0,
                Icon       = "",
                Status     = true,
                IsStatic   = true
            };
            SuncerePermission userList = new SuncerePermission()
            {
                ParentId   = 1,
                Name       = LanguageHelper.L("UserList"),
                Type       = 1,
                Controller = "System",
                Action     = "UserList",
                Order      = 1,
                Icon       = "",
                Status     = true,
                IsStatic   = true
            };
            SuncerePermission permissionList = new SuncerePermission()
            {
                ParentId   = 1,
                Name       = LanguageHelper.L("PermissionList"),
                Type       = 1,
                Controller = "System",
                Action     = "PermissionList",
                Order      = 2,
                Icon       = "",
                Status     = true,
                IsStatic   = true
            };
            SuncerePermission auditLogList = new SuncerePermission()
            {
                ParentId   = 1,
                Name       = LanguageHelper.L("AuditLogList"),
                Type       = 1,
                Controller = "System",
                Action     = "AuditLogList",
                Order      = 3,
                Icon       = "",
                Status     = true,
                IsStatic   = true
            };

            Add(user);
            Add(role);
            Add(system);
            Add(roleList);
            Add(userList);
            Add(permissionList);
            Add(auditLogList);

            user.SuncereRoles.Add(role);
            role.SuncereUsers.Add(user);
            role.SuncerePermissions.Add(system);
            system.SuncereRoles.Add(role);
            role.SuncerePermissions.Add(roleList);
            roleList.SuncereRoles.Add(role);
            role.SuncerePermissions.Add(userList);
            userList.SuncereRoles.Add(role);
            role.SuncerePermissions.Add(permissionList);
            permissionList.SuncereRoles.Add(role);
            role.SuncerePermissions.Add(auditLogList);
            auditLogList.SuncereRoles.Add(role);
            SaveChanges();
        }