Example #1
0
        public List <TokenResourcePermission> GetByResource(int resourceId, ResourceType resourceType)
        {
            var dbCommand = _dbHelper.GetStoredProcCommand(SP_SelectByResource);

            _dbHelper.AddInParameter(dbCommand, "@ResourceId", System.Data.DbType.Int32, resourceId);
            _dbHelper.AddInParameter(dbCommand, "@ResourceType", System.Data.DbType.Int32, (int)resourceType);

            List <TokenResourcePermission> items = new List <TokenResourcePermission>();
            var reader = _dbHelper.ExecuteReader(dbCommand);

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    TokenResourcePermission item = ParseData(reader);

                    items.Add(item);
                }
            }

            reader.Close();
            _dbHelper.Close(dbCommand);

            return(items);
        }
Example #2
0
        public int Update(TokenResourcePermission permission)
        {
            var dbCommand = _dbHelper.GetStoredProcCommand(SP_Modify);

            _dbHelper.AddInParameter(dbCommand, "@Token", System.Data.DbType.Int32, permission.Token);
            _dbHelper.AddInParameter(dbCommand, "@TokenType", System.Data.DbType.Int32, (int)permission.TokenType);
            _dbHelper.AddInParameter(dbCommand, "@ResourceId", System.Data.DbType.Int32, permission.ResourceId);
            _dbHelper.AddInParameter(dbCommand, "@ResourceType", System.Data.DbType.Int32, (int)permission.ResourceType);
            _dbHelper.AddInParameter(dbCommand, "@Permission", System.Data.DbType.Int32, permission.Permission);

            return(_dbHelper.ExecuteNonQuery(dbCommand));
        }
        private int UpdatePermission(int token, TokenType tokenType, int resourceId, ResourceType resourceType, int permission)
        {
            TokenResourcePermission urPerm = new TokenResourcePermission
            {
                Token        = token,
                TokenType    = tokenType,
                ResourceId   = resourceId,
                ResourceType = resourceType,
                Permission   = permission,
            };

            return(_userResourcePermBLL.Update(urPerm));
        }
Example #4
0
        public TokenResourcePermission GetSingle(int token, TokenType tokenType, int resourceId, ResourceType resourceType)
        {
            var dbCommand = _dbHelper.GetStoredProcCommand(SP_SelectSingle);

            _dbHelper.AddInParameter(dbCommand, "@Token", System.Data.DbType.Int32, token);
            _dbHelper.AddInParameter(dbCommand, "@TokenType", System.Data.DbType.Int32, (int)tokenType);
            _dbHelper.AddInParameter(dbCommand, "@ResourceId", System.Data.DbType.Int32, resourceId);
            _dbHelper.AddInParameter(dbCommand, "@ResourceType", System.Data.DbType.Int32, (int)resourceType);
            var reader = _dbHelper.ExecuteReader(dbCommand);

            TokenResourcePermission item = new TokenResourcePermission();

            if (reader.HasRows && reader.Read())
            {
                item = ParseData(reader);
            }

            reader.Close();
            _dbHelper.Close(dbCommand);

            return(item);
        }
Example #5
0
        public int Create(TokenResourcePermission permission)
        {
            var dbCommand = _dbHelper.GetStoredProcCommand(SP_Create);

            _dbHelper.AddInParameter(dbCommand, "@Token", System.Data.DbType.Int32, permission.Token);
            _dbHelper.AddInParameter(dbCommand, "@TokenType", System.Data.DbType.Int32, (int)permission.TokenType);
            _dbHelper.AddInParameter(dbCommand, "@ResourceId", System.Data.DbType.Int32, permission.ResourceId);
            _dbHelper.AddInParameter(dbCommand, "@ResourceType", System.Data.DbType.Int32, (int)permission.ResourceType);
            _dbHelper.AddInParameter(dbCommand, "@Permission", System.Data.DbType.Int32, permission.Permission);

            _dbHelper.AddReturnParameter(dbCommand, "@return", System.Data.DbType.Int32);

            int ret = _dbHelper.ExecuteNonQuery(dbCommand);

            int id = -1;

            if (ret > 0)
            {
                id = (int)dbCommand.Parameters["@return"].Value;
            }

            return(id);
        }
Example #6
0
        private TokenResourcePermission ParseData(DbDataReader reader)
        {
            TokenResourcePermission item = new TokenResourcePermission();

            item.Id           = (int)reader["Id"];
            item.Token        = (int)reader["Token"];
            item.TokenType    = (TokenType)reader["TokenType"];
            item.ResourceId   = (int)reader["ResourceId"];
            item.ResourceType = (ResourceType)reader["ResourceType"];
            item.Permission   = (int)reader["Permission"];

            if (reader["CreateDate"] != null && reader["CreateDate"] != DBNull.Value)
            {
                item.CreateDate = (DateTime)reader["CreateDate"];
            }

            if (reader["ModifiedDate"] != null && reader["ModifiedDate"] != DBNull.Value)
            {
                item.ModifieDate = (DateTime)reader["ModifiedDate"];
            }

            return(item);
        }
Example #7
0
 public ArchiveTokenResourcePermission(TokenResourcePermission item)
     : base(item)
 {
     ArchiveDate = DateTime.Now;
 }
 public int Update(TokenResourcePermission urPermission)
 {
     return(_urpermissiondao.Update(urPermission));
 }
        public int Create(TokenResourcePermission item)
        {
            ArchiveTokenResourcePermission archiveItem = new ArchiveTokenResourcePermission(item);

            return(_archivetokenresourcepermissiondao.Create(archiveItem));
        }
Example #10
0
        private void UpdatePermission(ref StockTemplate stockTemplate)
        {
            if (this.cbEditUser.CheckedItems != null && this.cbEditUser.CheckedItems.Count > 0)
            {
                foreach (var item in this.cbEditUser.CheckedItems)
                {
                    var user = item as User;
                    stockTemplate.CanEditUsers.Add(user);
                }
            }

            if (this.cbViewUser.CheckedItems != null && this.cbViewUser.CheckedItems.Count > 0)
            {
                foreach (var item in this.cbViewUser.CheckedItems)
                {
                    var user = item as User;
                    stockTemplate.CanViewUsers.Add(user);
                }
            }

            //处理权限改变的情况,添加新权限,或者去掉某一项权限
            var permUsers    = stockTemplate.CanEditUsers.Union(stockTemplate.CanViewUsers);
            var urPermission = new List <TokenResourcePermission>();

            foreach (var user in permUsers)
            {
                int oldPerm = 0;
                int newPerm = 0;
                TokenResourcePermission urPerm = null;
                if (_oldTemplate != null && _oldTemplate.Permissions != null)
                {
                    urPerm = _oldTemplate.Permissions.Find(p => p.Token == user.Id && p.TokenType == TokenType.User);
                    if (urPerm != null)
                    {
                        oldPerm = urPerm.Permission;
                        newPerm = oldPerm;
                    }
                }

                List <PermissionMask> addRights    = new List <PermissionMask>();
                List <PermissionMask> removeRights = new List <PermissionMask>();
                if (stockTemplate.CanEditUsers.Contains(user))
                {
                    addRights.Add(PermissionMask.Edit);
                }
                else
                {
                    removeRights.Add(PermissionMask.Edit);
                }

                if (stockTemplate.CanViewUsers.Contains(user))
                {
                    addRights.Add(PermissionMask.View);
                }
                else
                {
                    removeRights.Add(PermissionMask.View);
                }

                newPerm = _permissionManager.GetGrantPermission(newPerm, addRights);
                newPerm = _permissionManager.GetRevokePermission(newPerm, removeRights);

                TokenResourcePermission nurPerm = new TokenResourcePermission
                {
                    Token        = user.Id,
                    TokenType    = TokenType.User,
                    ResourceId   = stockTemplate.TemplateId,
                    ResourceType = ResourceType.SpotTemplate,
                    Permission   = newPerm,
                };

                if (urPerm != null)
                {
                    nurPerm.Id = urPerm.Id;
                }

                urPermission.Add(nurPerm);
            }

            //处理两种权限都被去掉的情况
            if (_oldTemplate != null && _oldTemplate.Permissions != null)
            {
                foreach (var oldPerm in _oldTemplate.Permissions)
                {
                    var findPerm = urPermission.Find(p => p.Token == oldPerm.Token &&
                                                     p.TokenType == oldPerm.TokenType &&
                                                     p.ResourceId == oldPerm.ResourceId &&
                                                     p.ResourceType == oldPerm.ResourceType);

                    if (findPerm == null)
                    {
                        List <PermissionMask> rights = new List <PermissionMask>()
                        {
                            PermissionMask.Edit, PermissionMask.View
                        };
                        int newPerm = _permissionManager.GetRevokePermission(oldPerm.Permission, rights);
                        TokenResourcePermission nurPerm = new TokenResourcePermission
                        {
                            Token        = oldPerm.Token,
                            TokenType    = TokenType.User,
                            ResourceId   = oldPerm.ResourceId,
                            ResourceType = ResourceType.SpotTemplate,
                            Permission   = newPerm,
                        };

                        urPermission.Add(nurPerm);
                    }
                }
            }

            stockTemplate.Permissions.AddRange(urPermission);
        }