Skip to content

Instantly share code, notes, and snippets.

View pwelter34's full-sized avatar

Paul Welter pwelter34

View GitHub Profile
@pwelter34
pwelter34 / SelectTree.sql
Created October 11, 2021 15:00
Select Tree
CREATE PROCEDURE [dbo].[ClientHierarchy]
@clientId UNIQUEIDENTIFIER
AS
DECLARE @root UNIQUEIDENTIFIER;
-- step 1, find hightest node
WITH ParentCTE (Id, ParentClientId) AS
(
@pwelter34
pwelter34 / .editorconfig.yaml
Last active December 29, 2022 23:41
Basic editor config for markdown
# EditorConfig is awesome: https://EditorConfig.org
root = true
# All Files
[*]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
@pwelter34
pwelter34 / ColumnSearch.sql
Created April 29, 2021 14:43
SQL Server Schema Search
DECLARE @tableName NVARCHAR(256)
DECLARE @tableSchema NVARCHAR(100)
DECLARE @columnName NVARCHAR(256)
SET @tableName = '%CaseManager%'
SET @tableSchema = 'dbo'
SET @columnName = '%%'
SELECT *
FROM INFORMATION_SCHEMA.Columns
@pwelter34
pwelter34 / GitVersion.yml
Created April 25, 2021 16:49
GitVersion.yml
mode: ContinuousDelivery
next-version: 1.0.0
branches:
main:
tag: ''
develop:
tag: beta
feature:
tag: alpha
pull-request:
/// <summary>
/// Provides an abstraction for hashing passwords.
/// </summary>
public interface IPasswordHasher
{
/// <summary>
/// Returns a hashed representation of the supplied <paramref name="password"/> for the specified <paramref name="user"/>.
/// </summary>
/// <param name="password">The password to hash.</param>
/// <returns>A hashed representation of the supplied <paramref name="password"/> for the specified <paramref name="user"/>.</returns>
@pwelter34
pwelter34 / HashCode.cs
Created January 14, 2021 16:54
Generate hash code
public readonly struct HashCode
{
private readonly int _value;
private HashCode(int value) => _value = value;
public static HashCode Seed { get; } = new HashCode(17);
public HashCode Combine<T>(T obj)
{
/// <summary>
/// A paged collection.
/// </summary>
/// <typeparam name="T">The type of the items in the list.</typeparam>
/// <remarks>
/// When this collection is created, <see cref="IQueryable"/> Skip and Take is
/// calculated and called on the source list. Also, if total count
/// is not specified, <see cref="IQueryable"/> Count is called.
/// </remarks>
public class PagedList<T> : List<T>
public static class DictionaryExtensions
{
/// <summary>
/// Adds a key/value pair to the Dictionary if the key does not already exist.
/// </summary>
/// <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
/// <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
/// <param name="dictionary"></param>
/// <param name="key">The key of the element to add.</param>
/// <param name="valueFactory">The function used to generate a value for the key.</param>
@pwelter34
pwelter34 / sqlserver.yaml
Created May 18, 2020 19:35
use sql server in azure devops
resources:
containers:
- container: sqlserver
image: mcr.microsoft.com/mssql/server:2019-latest
ports:
- 1433:1433
env:
ACCEPT_EULA: 'Y'
SA_PASSWORD: $(SqlPassword)
@pwelter34
pwelter34 / ConfigurationLoader.tsx
Created March 31, 2020 17:29
React Configuration Loader
import React, { useState, useEffect, createContext } from "react";
import Loader from './Loader';
interface Props {
children: JSX.Element;
file?: string;
}
interface IConfiguration{