Skip to content

Instantly share code, notes, and snippets.

@JaykeOps
JaykeOps / Example1.ts
Created July 9, 2018 14:21
Twitten Example 1
function createUser(uname: string, pw: string): User {
if (!(uname && pw))
throw new Error("Validation failed!");
return { username: uname, password: pw };
}
try {
createUser("John Doe", "hello123");
} catch (error) {
throw error;
@JaykeOps
JaykeOps / CheatSheet.fsx
Created June 5, 2018 12:20
FunkNiteCheatSheet
//#region The 'let' keyword
//let <identifier> = <value>
let a = 0
let b = 0.0 //64-bit a.k.a double
let c = 0.0m //decimal
let d = "Hello World!"
let e = "Hello" + "World"
let f = """{ "word1": "Hello",
@JaykeOps
JaykeOps / Exercise4.fsx
Created June 5, 2018 11:42
Exercise 4 - FunkNite
open System.IO
let writeTransactionToFile transaction = File.AppendAllText("statement.txt", "some string")
let writeTransactionToConsole transaction = printfn "%s" "Something"
//Forstsätt där vi avslutade uppgift 3
//1. Bygg ut "transaction" funktionerna så att dom har loggningsfunktionalitet
// - Försök experimentera med Higher-order functions, currying och partial application.
@JaykeOps
JaykeOps / failtobuild.fsx
Created May 26, 2018 09:55
FS Build.fsx
// --------------------------------------------------------------------------------------
// FAKE build script
// --------------------------------------------------------------------------------------
#r "./packages/build/FAKE/tools/FakeLib.dll"
open Fake
open System
// --------------------------------------------------------------------------------------
@JaykeOps
JaykeOps / Example.cs
Last active September 20, 2022 19:12
Mongo C# Driver CRUD CheatSheet
//Read
//BsonDocument
var collection = db.GetCollection<BsonDocument>("people");
var builder = Builders<BsonDocument>.Filter;
//Note that the '&' '!' '|' operators are overloaded when used in the FilterBuilder
var filter = builder.Lt("Age", 33) & !builder.Eq("Name", "Ericsson");
var list = await collection.Find(filter).ToListAsync();
------------------------------------------------------------------------------------
@JaykeOps
JaykeOps / Example.cs
Created January 22, 2018 09:48
MongoDB setting up basic name mapping convention
public static void Main(string[] args)
{
//Needs to be configured before we start handling MongoDB
var conventionPack = new ConventionPack();
conventionPack.Add(new CamelCaseElementNameConvention());
ConventionRegistry.Register("camelCase", conventionPack, typesAppliedTo => true);
//typesAppliedTo => true will apply the convention to all types.
@JaykeOps
JaykeOps / Example.cs
Created January 19, 2018 16:46
Resource Authorization Case
[HttpGet("{id}", Name = "GetBlog")]
public async Task<IActionResult> Get(string id)
{
if (!ObjectId.TryParse(id, out var objectId))
return BadRequest($"The id provided ({id}) is not a valid id.");
try
{
var blog = await _blogDataService.FindBlogByIdAsync(objectId);
@JaykeOps
JaykeOps / Requirement.cs
Created January 19, 2018 16:42
ResourceRequirement
using Microsoft.AspNetCore.Authorization;
namespace OpenBlog.Api.Authorization.Requirements
{
public class ResourceOwnerRequirement : IAuthorizationRequirement
{
}
}
@JaykeOps
JaykeOps / ResourceAuthorization.cs
Created January 19, 2018 16:38
RequestHandler
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using OpenBlog.Api.Authorization.Requirements;
namespace OpenBlog.Api.Authorization.Handlers
{
public class ResourceOwnerHandler : AuthorizationHandler<ResourceOwnerRequirement, string>
{
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ResourceOwnerRequirement requirement,
@JaykeOps
JaykeOps / AutoFixtureLearningTests.cs
Created January 5, 2018 17:56
AutoFixture + AutoMoq - Using Custom Attribute to Generate TestData
using AutoFixture;
using AutoFixture.AutoMoq;
using AutoFixture.Xunit2;
namespace AutoFixtureSandbox.Tests
{
public class AutoMoqDataAttribute : AutoDataAttribute
{
public AutoMoqDataAttribute() : base(() =>
{