Example #1
0
        public static List <Role> GetPermisisonForGroup(int groupID)
        {
            List <Role> roles    = new List <Role>();
            List <Role> allRoles = GetAllRoles();

            Sys_QuyenTheoNhomRepository permissionRepository = new Sys_QuyenTheoNhomRepository();
            List <Sys_QuyenTheoNhom>    permissions          = permissionRepository.GetTable().Where(x => x.IDDanhMucNhom == groupID).ToList();
            List <Guid> guids = new List <Guid>();

            permissions.ForEach(x => guids.Add(x.RoleID));
            allRoles.FindAll(x => guids.Contains(x.ID)).ForEach(x => x.IsGrant = true);
            return(allRoles);
        }
Example #2
0
        public static bool UpdatePermissionToGroup(List <Guid> permissions, int groupId)
        {
            bool isSuccess = false;

            List <Guid> removalPermissions  = new List <Guid>();
            List <Guid> additionPermissions = new List <Guid>();
            List <Guid> groupPermission     = new List <Guid>();

            Sys_QuyenTheoNhomRepository permissionRepository = new Sys_QuyenTheoNhomRepository();
            List <Sys_QuyenTheoNhom>    currentPermissions   = permissionRepository.GetTable().Where(x => x.IDDanhMucNhom == groupId).ToList();

            currentPermissions.ForEach(x => groupPermission.Add(x.RoleID));

            removalPermissions  = groupPermission.FindAll(x => !permissions.Contains(x));
            additionPermissions = permissions.FindAll(x => !groupPermission.Contains(x));

            try
            {
                foreach (Guid permission in additionPermissions)
                {
                    Sys_QuyenTheoNhom g = new Sys_QuyenTheoNhom();
                    g.IDDanhMucNhom  = groupId;
                    g.MaNguoiTao     = Guid.NewGuid();
                    g.MaNguoiThayDoi = Guid.NewGuid();
                    //g.ModifiedOn
                    g.NgayTao     = DateTime.Now;
                    g.NgayThayDoi = DateTime.Now;
                    g.RoleID      = permission;
                    permissionRepository.Add(g);
                }

                foreach (Guid permission in removalPermissions)
                {
                    Sys_QuyenTheoNhom g = permissionRepository.GetTable().FirstOrDefault(x => x.RoleID == permission && x.IDDanhMucNhom == groupId);
                    permissionRepository.Delete(g.ID);
                }

                permissionRepository.SubmitChanges();
                isSuccess = true;
            }
            catch { }
            return(isSuccess);
        }