Skip to content

Instantly share code, notes, and snippets.

View pwelter34's full-sized avatar

Paul Welter pwelter34

View GitHub Profile
/// <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>
@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>
/// 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 / 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:
@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 / .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 / 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 / AssemblyMetadata.cs
Last active August 9, 2023 19:06
Assembly Metadata
public static class AssemblyMetadata
{
private static readonly Lazy<string> _fileVersion = new(() =>
{
var assembly = typeof(AssemblyMetadata).Assembly;
var attribute = assembly.GetCustomAttribute<AssemblyFileVersionAttribute>();
return attribute?.Version;
});
private static readonly Lazy<string> _assemblyVersion = new(() =>
@pwelter34
pwelter34 / azure-pipelines.yml
Created October 29, 2021 17:16
Standard web project with database
trigger:
- main
- develop
- releases/*
variables:
major: 1
minor: 0
name: $(major).$(minor).$(Rev:r)
@pwelter34
pwelter34 / setup.sh
Created November 10, 2021 06:49
Test Internet Speed using Speedtest-cli from Alpine OS Docker Image
apk add --no-cache python3 py3-pip
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
python3 speedtest-cli