Skip to content

Instantly share code, notes, and snippets.

@sfmskywalker
sfmskywalker / generate-theme.cmd
Created July 29, 2018 20:35
Generate a new theme
dotnet new octheme -n "MadeWithLoveTheme"
@sfmskywalker
sfmskywalker / RegistrationModel.cs
Created November 2, 2019 08:21
RegistrationModel - Building Workflow Driven .NET Core Applications with Elsa
using System.ComponentModel.DataAnnotations;
namespace Elsa.Samples.UserRegistration.Web.Models
{
public class RegistrationModel
{
[Required]
public string Name { get; set; }
[Required]
@sfmskywalker
sfmskywalker / MainLayout.razor
Created November 2, 2019 08:26
MainLayout - Building Workflow Driven .NET Core Applications with Elsa
@inherits Microsoft.AspNetCore.Components.LayoutComponentBase
@Body
@sfmskywalker
sfmskywalker / site.css
Created November 2, 2019 08:47
site.css - Building Workflow Driven .NET Core Applications with Elsa
html,
body, app {
height: 100%;
}
app {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
@sfmskywalker
sfmskywalker / Startup.cs
Created November 2, 2019 09:10
Startup.cs - Building Workflow Driven .NET Core Applications with Elsa
using Elsa.Activities.Email.Extensions;
using Elsa.Activities.Http.Extensions;
using Elsa.Activities.Timers.Extensions;
using Elsa.Dashboard.Extensions;
using Elsa.Extensions;
using Elsa.Persistence.MongoDb.Extensions;
using Elsa.Samples.UserRegistration.Web.Extensions;
using Elsa.Samples.UserRegistration.Web.Handlers;
using Elsa.Samples.UserRegistration.Web.Models;
using Elsa.Samples.UserRegistration.Web.Services;
@sfmskywalker
sfmskywalker / appsettings.json
Created November 2, 2019 09:12
appsettings.json - Building Workflow Driven .NET Core Applications with Elsa
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
@sfmskywalker
sfmskywalker / IPasswordHasher.cs
Created November 2, 2019 09:40
IPasswordHasher.cs - Building Workflow Driven .NET Core Applications with Elsa
using Elsa.Samples.UserRegistration.Web.Models;
namespace Elsa.Samples.UserRegistration.Web.Services
{
public interface IPasswordHasher
{
HashedPassword HashPassword(string password);
HashedPassword HashPassword(string password, byte[] salt);
}
}
@sfmskywalker
sfmskywalker / PasswordHasher.cs
Created November 2, 2019 09:41
PasswordHasher.cs - Building Workflow Driven .NET Core Applications with Elsa
using System.Security.Cryptography;
using Elsa.Samples.UserRegistration.Web.Models;
using Microsoft.AspNetCore.Cryptography.KeyDerivation;
namespace Elsa.Samples.UserRegistration.Web.Services
{
public class PasswordHasher : IPasswordHasher
{
public HashedPassword HashPassword(string password)
{
@sfmskywalker
sfmskywalker / HashedPassword.cs
Last active November 2, 2019 09:54
HashedPassword.cs - Building Workflow Driven .NET Core Applications with Elsa
using System;
namespace Elsa.Samples.UserRegistration.Web.Models
{
public class HashedPassword
{
public HashedPassword(byte[] hashed, byte[] salt)
{
Hashed = Convert.ToBase64String(hashed);
Salt = Convert.ToBase64String(salt);
@sfmskywalker
sfmskywalker / LiquidConfigurationHandler.cs
Created November 2, 2019 09:59
LiquidConfigurationHandler.cs - Building Workflow Driven .NET Core Applications with Elsa
using System.Threading;
using System.Threading.Tasks;
using Elsa.Samples.UserRegistration.Web.Models;
using Elsa.Scripting.Liquid.Messages;
using Fluid;
using MediatR;
namespace Elsa.Samples.UserRegistration.Web.Handlers
{
/// <summary>