public static List<RoleData> GetRoles(string language)
 {
     List<RoleData> roles = new List<RoleData>();
     string sql = "[dbo].[GetAllRoleData]";
     DataAccess.GetInstance().ExecuteReader(sql, CommandType.StoredProcedure, delegate(SqlDataReader reader)
     {
         while (reader.Read())
         {
             RoleData role = new RoleData();
             role.RoleId = (int)reader.GetValue(0);
             role.RoleName = reader.GetValue(1).ToString();
             roles.Add(role);
         }
         if (reader.NextResult())
         {
             while (reader.Read())
             {
                 RoleFunctonPermission functionPermission = new RoleFunctonPermission();
                 functionPermission.FunctionId = (int)reader["FunctionId"];
                 functionPermission.Code = reader["Code"].ToString();
                 if (!(reader["ParentId"] is DBNull))
                 {
                     functionPermission.ParentId = (int)reader["ParentId"];
                 }
                 functionPermission.Level = (int)reader["Level"];
                 functionPermission.Description = reader["Description"].ToString();
                 functionPermission.IsAllow = (bool)reader["IsAllow"];
                 int id = (int)reader["RoleId"];
                 roles.SingleOrDefault(r => r.RoleId == id).FunctionPermissions.Add(functionPermission);
             }
         }
         if (reader.NextResult())
         {
             while (reader.Read())
             {
                 RoleDataPermission dataPermission = new RoleDataPermission();
                 dataPermission.PermissionId = (int)reader["TargetId"];
                 dataPermission.Code = reader["Code"].ToString();
                 if (!(reader["ParentId"] is DBNull))
                 {
                     dataPermission.ParentId = (int)reader["ParentId"];
                 }
                 if (!(reader["DataObjectId"] is DBNull))
                 {
                     dataPermission.DataObjectId = (Guid)reader["DataObjectId"];
                 }
                 dataPermission.IsAllow = (bool)reader["IsAllow"];
                 dataPermission.ExchangeCode = reader["IExchangeCode"].ToString();
                 int id = (int)reader["RoleId"];
                 roles.SingleOrDefault(r => r.RoleId == id).DataPermissions.Add(dataPermission);
             }
         }
     }, new SqlParameter("@language", language));
     return roles;
 }
示例#2
0
 public List<RoleFunctonPermission> CastGridDataToFunction()
 {
     List<RoleFunctonPermission> roleFunctionPermissions = new List<RoleFunctonPermission>();
     foreach (CategoryGridData category in CategoryDatas)
     {
         if (category.IsCategoryAllow == true || category.IsCategoryDeny == true)
         {
             RoleFunctonPermission function = new RoleFunctonPermission();
             function.FunctionId = category.CategoryId;
             function.ParentId = 1;
             function.Description = category.CategoryName;
             function.Level = 1;
             if (category.IsCategoryAllow == true)
             {
                 function.IsAllow = true;
             }
             if (category.IsCategoryDeny == true)
             {
                 function.IsAllow = false;
             }
             roleFunctionPermissions.Add(function);
         }
         foreach (ModuleData module in category.ModuleDatas)
         {
             if (module.IsModuleAllow == true || module.IsModuleDeny == true)
             {
                 RoleFunctonPermission function = new RoleFunctonPermission();
                 function.FunctionId = module.ModuleId;
                 function.Description = module.ModuleName;
                 function.ParentId = category.CategoryId;
                 function.Level = 2;
                 if (module.IsModuleAllow == true)
                 {
                     function.IsAllow = true;
                 }
                 if (module.IsModuleDeny == true)
                 {
                     function.IsAllow = false;
                 }
                 roleFunctionPermissions.Add(function);
             }
             foreach (OperationData operation in module.OperationDatas)
             {
                 if (operation.IsAllow == true || operation.IsDeny == true)
                 {
                     RoleFunctonPermission function = new RoleFunctonPermission();
                     function.FunctionId = operation.FunctionId;
                     function.Description = operation.Description;
                     function.ParentId = module.ModuleId;
                     function.Level = 3;
                     if (operation.IsAllow == true)
                     {
                         function.IsAllow = true;
                     }
                     if (operation.IsDeny == true)
                     {
                         function.IsAllow = false;
                     }
                     roleFunctionPermissions.Add(function);
                 }
             }
         }
     }
     return roleFunctionPermissions;
 }
 public static List<RoleFunctonPermission> GetAllFunctionPermissions(string language)
 {
     List<RoleFunctonPermission> allFunction = new List<RoleFunctonPermission>();
     using (SqlConnection con = DataAccess.GetInstance().GetSqlConnection())
     {
         using (SqlCommand command = con.CreateCommand())
         {
             command.CommandText = "SELECT pt.Id, pt.ParentId, pt.[Level], pt.Code,(CASE @language WHEN 'CHT' THEN fd.NameCHT WHEN 'CHS' THEN fd.NameCHS ELSE fd.NameENG END) AS [Description] FROM dbo.PermissionTarget pt	INNER JOIN dbo.FunctionDescription fd ON fd.FunctionId = pt.Id WHERE pt.TargetType = 1";
             command.CommandType = CommandType.Text;
             command.Parameters.Add(new SqlParameter("@language", language));
             using (SqlDataReader reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     RoleFunctonPermission function = new RoleFunctonPermission();
                     function.FunctionId = (int)reader["Id"];
                     function.ParentId = (int)reader["ParentId"];
                     function.Level = int.Parse(reader["Level"].ToString());
                     function.Description = reader["Description"].ToString();
                     allFunction.Add(function);
                 }
             }
         }
     }
     return allFunction;
 }