Skip to content

Instantly share code, notes, and snippets.

View gxclarke's full-sized avatar

Gary Clarke gxclarke

View GitHub Profile
@gxclarke
gxclarke / resourceclaims.sql
Last active May 21, 2021 20:29
Ed-Fi ResourceClaims->Resources
WITH
Q AS (
SELECT ResourceClaimId, ResourceName AS ResourceClaim, ParentResourceClaimId, 0 As Lvl FROM ResourceClaims WHERE ParentResourceClaimId IS NULL
UNION ALL
SELECT ResourceClaims.ResourceClaimId, ResourceClaims.ResourceName, ResourceClaims.ParentResourceClaimId, Lvl+1
FROM ResourceClaims JOIN Q ON ResourceClaims.ParentResourceClaimId = Q.ResourceClaimId
)
SELECT Q.ResourceClaim, STUFF((SELECT ', ' + Q1.ResourceClaim FROM Q Q1 WHERE Q.ResourceClaimId = Q1.ParentResourceClaimId ORDER BY Q1.ResourceClaim FOR XML PATH('')), 1, 2, '') AS Resources
FROM Q
WHERE Q.Lvl = 0
@gxclarke
gxclarke / NullableMonad
Created November 23, 2013 22:55
Nullable Monad Pattern Example: SiteMapBase.GetActualCurrentNode().IfNotNull(x => x.Title)
public static TResult IfNotNull<T, TResult>(this T input, Func<T, TResult> action, TResult valueIfNull)
where T : class
{
if (input != null) return action(input);
else return valueIfNull;
}
public static TResult IfNotNull<T, TResult>(this T input, Func<T, TResult> action)
where T : class
where TResult : class
@gxclarke
gxclarke / layout.scss
Created September 15, 2011 20:39
@mixin recursion example
@import "compass/utilities";
$media-names: desktop tablet handheld-landscape handheld !default;
#container {
margin: 0 auto;
@include pie-clearfix;
}
.row-base {