public void Insert(U_EntitiesInRole entities) { SqlParameter[] parms1 = { new SqlParameter("@RoleId", SqlDbType.VarChar, 100), new SqlParameter("@MenuId", SqlDbType.Int) }; SqlParameter[] parms2 = { new SqlParameter("@RoleId", SqlDbType.VarChar, 100), new SqlParameter("@Permission", SqlDbType.Int) }; SqlParameter[] parms3 = { new SqlParameter("@RoleId", SqlDbType.VarChar, 100), new SqlParameter("@NodeId", SqlDbType.VarChar, 100) }; using (var conn = new SqlConnection(this._databaseConnectionString)) { if (conn.State != ConnectionState.Open) { conn.Open(); } var trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); try { foreach (var entity in entities.Menus) { parms1[0].Value = SqlTypeConverter.DBNullStringChecker(entities.RoleId); parms1[1].Value = SqlTypeConverter.DBNullInt32Checker(entity); SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert1, parms1); } foreach (var entity in entities.Permissions) { parms2[0].Value = SqlTypeConverter.DBNullStringChecker(entities.RoleId); parms2[1].Value = (int)entity; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert2, parms2); } foreach (var entity in entities.Authorizations) { parms3[0].Value = SqlTypeConverter.DBNullStringChecker(entities.RoleId); parms3[1].Value = SqlTypeConverter.DBNullStringChecker(entity); if (entities.Type == EnmSSH.Area) { SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert3, parms3); } if (entities.Type == EnmSSH.Station) { SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert4, parms3); } if (entities.Type == EnmSSH.Room) { SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert5, parms3); } if (entities.Type == EnmSSH.Device) { SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_Insert6, parms3); } } trans.Commit(); } catch { trans.Rollback(); throw; } } }
public void Add(U_EntitiesInRole entities) { var key = string.Format(GlobalCacheKeys.SSH_AreasPattern, entities.RoleId); if (_cacheManager.IsSet(key)) { _cacheManager.Remove(key); } key = string.Format(GlobalCacheKeys.SSH_AuthorizationsPattern, entities.RoleId); if (_cacheManager.IsSet(key)) { _cacheManager.Remove(key); } _repository.Insert(entities); }
public U_EntitiesInRole GetEntitiesInRole(string id) { if (U_Role.SuperId.Equals(id)) { var key = GlobalCacheKeys.SSH_Authorizations; if (_cacheManager.IsSet(key)) { return(_cacheManager.Get <U_EntitiesInRole>(key)); } else { var auth = new U_EntitiesInRole { RoleId = id, Menus = new List <int>(), Permissions = new List <EnmPermission>(), Authorizations = new List <string>() }; foreach (var menu in _menuRepository.GetMenus()) { auth.Menus.Add(menu.Id); } foreach (EnmPermission permission in Enum.GetValues(typeof(EnmPermission))) { auth.Permissions.Add(permission); } _cacheManager.Set(key, auth); return(auth); } } else { var key = string.Format(GlobalCacheKeys.SSH_AuthorizationsPattern, id); if (_cacheManager.IsSet(key)) { return(_cacheManager.Get <U_EntitiesInRole>(key)); } else { var data = _repository.GetEntitiesInRole(id); _cacheManager.Set(key, data); return(data); } } }
public U_EntitiesInRole GetAuth(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentNullException("id"); } if (_cachedAuth != null) { return(_cachedAuth); } var auth = _authService.GetEntitiesInRole(id); if (auth == null) { throw new iPemException("current auth not found."); } return(_cachedAuth = auth); }
public U_EntitiesInRole GetEntitiesInRole(string id) { SqlParameter[] parms = { new SqlParameter("@RoleId", SqlDbType.VarChar, 100) }; parms[0].Value = SqlTypeConverter.DBNullStringChecker(id); var entity = new U_EntitiesInRole() { RoleId = id, Menus = new List <int>(), Permissions = new List <EnmPermission>(), Authorizations = new List <string>() }; using (var rdr = SqlHelper.ExecuteReader(this._databaseConnectionString, CommandType.Text, SqlCommands_Sc.Sql_U_EntitiesInRole_Repository_GetEntitiesInRole, parms)) { while (rdr.Read()) { entity.Menus.Add(SqlTypeConverter.DBNullInt32Handler(rdr["MenuId"])); } if (rdr.NextResult()) { while (rdr.Read()) { entity.Permissions.Add(SqlTypeConverter.DBNullEnmPermissionHandler(rdr["Permission"])); } } if (rdr.NextResult()) { while (rdr.Read()) { entity.Authorizations.Add(SqlTypeConverter.DBNullStringHandler(rdr["NodeId"])); entity.Type = EnmSSH.Area; } } if (rdr.NextResult()) { while (rdr.Read()) { entity.Authorizations.Add(SqlTypeConverter.DBNullStringHandler(rdr["NodeId"])); entity.Type = EnmSSH.Station; } } if (rdr.NextResult()) { while (rdr.Read()) { entity.Authorizations.Add(SqlTypeConverter.DBNullStringHandler(rdr["NodeId"])); entity.Type = EnmSSH.Room; } } if (rdr.NextResult()) { while (rdr.Read()) { entity.Authorizations.Add(SqlTypeConverter.DBNullStringHandler(rdr["NodeId"])); entity.Type = EnmSSH.Device; } } } return(entity); }