public bool RemoveRoleFeature(IApplicationFeaturesAccess access, int roleId, ApplicationFeature feature) { using (var cn = new SqlConnection(connectionString)) { cn.Open(); using (var cmd = cn.CreateCommand()) { cmd.CommandText = "DELETE FROM dbo.ApplicationRoleFeature WHERE (RoleId = @roleId) AND (FeatureId = @featureId);"; cmd.AddParameter("roleId", SqlDbType.Int, roleId); cmd.AddParameter("featureId", SqlDbType.NVarChar, feature.ToString()); var nuRows = cmd.ExecuteNonQuery(); return(nuRows == 1); } } }
public bool InsertRoleFeature(IApplicationFeaturesAccess access, int roleId, ApplicationFeature feature) { using (var cn = new SqlConnection(connectionString)) { cn.Open(); using (var cmd = cn.CreateCommand()) { cmd.CommandText = "" + "IF NOT EXISTS(SELECT * FROM dbo.ApplicationRoleFeature WHERE (RoleId = @roleId) AND (FeatureId = @featureId)) BEGIN" + " INSERT INTO dbo.ApplicationRoleFeature (RoleId,FeatureId) OUTPUT INSERTED.ID VALUES (@roleId,@featureId); " + "END ELSE BEGIN" + " SELECT ID FROM dbo.ApplicationRoleFeature WHERE (RoleId = @roleId) AND (FeatureId = @featureId)" + "END"; cmd.AddParameter("roleId", SqlDbType.Int, roleId); cmd.AddParameter("featureId", SqlDbType.NVarChar, feature.ToString()); var userRoleId = Convert.ToInt32(cmd.ExecuteScalar()); return(userRoleId > 0); } } }
public static void AssertFeatureOrThrow(this IApplicationFeaturesAccess access, params ApplicationFeature[] feature) { access.ApplicationFeatures.AssertFeatureOrThrow(feature); }
public static bool HasFeature(this IApplicationFeaturesAccess access, params ApplicationFeature[] feature) { return(access.ApplicationFeatures.HasFeature(feature)); }