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; }
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; }