Skip to content

Instantly share code, notes, and snippets.

{
"SessionData": [
{
"PutRequest": {
"Item": {
"UserID": {"N": "5346747"},
"CreationTime": {"N": "1544016418"},
"ExpirationTime": {"N": "1544140800"},
"SessionId": {"N": "6734678235789"}
}
@mattuu
mattuu / RESTORE_DATABASE.sql
Created January 9, 2020 16:32
Restore SQL Server database
USE master;
GO
ALTER DATABASE [<database_name, varchar(16), database_name>]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
DECLARE
@DatabaseName nvarchar(16) ='<database_name, varchar(16), database_name>',
@BackupPath nvarchar(255) = '<backup_path, varchar(255), backup_path>',
@mattuu
mattuu / button-spinner.directive.ts
Created December 27, 2019 14:43
Adds "busy" feedback state to HTML button
import { Directive, ElementRef, Input, AfterViewInit, Renderer2 } from '@angular/core';
@Directive({
selector: '[button-spinner]'
})
export class ButtonSpinnerDirective implements AfterViewInit {
private _originalText: string;
constructor(private el: ElementRef, private renderer: Renderer2) {
@mattuu
mattuu / unsaved-changes-guard.ts
Last active September 2, 2019 09:13
Angular 5 compatible unsaved changes guard, displaying warning to user if changes been made do form and user tried to navigate away from the screen without saving data.
import { Injectable } from '@angular/core';
import { CanDeactivate } from '@angular/router';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';
import { EditableDataComponent } from './editable-data.component';
@Injectable()
export class UnsavedChangesGuard implements CanDeactivate<EditableDataComponent> {
@mattuu
mattuu / pre-commit.sh
Created June 25, 2019 11:49 — forked from akfish/pre-commit.sh
Run MSBuild and MSTest for C# project from git pre-commit hook
#!/bin/sh
# Helper
safeRunCommand() {
typeset cmd="$*"
typeset ret_code
echo cmd=$cmd
eval $cmd
ret_code=$?
@mattuu
mattuu / ValidateModelStateAttribute.cs
Created April 10, 2019 07:47
ValidateModelStateAttribute - adds handing invalid model state and returns BadRequest (400)
public class ValidateModelStateAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
if (!context.ModelState.IsValid)
{
context.Result = new BadRequestObjectResult(context.ModelState);
}
public class ApiControllerCustomization : ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Register<ICompositeMetadataDetailsProvider>(() => new CustomCompositeMetadataDetailsProvider());
fixture.Inject(new ViewDataDictionary(fixture.Create<DefaultModelMetadataProvider>(), fixture.Create<ModelStateDictionary>()));
}
private class CustomCompositeMetadataDetailsProvider : ICompositeMetadataDetailsProvider
{