This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://api.codemagic.io/artifacts/f64bd209-fc06-4419-97f4-d042ccb10224/73548ac2-d393-41bc-b867-59a553bece6a/Dit_Pusterum.app.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"productId": "1", | |
"productName": "Basic t-shirt", | |
"productDescription": "a quiet t-shirt", | |
"price": { "amount" : 40, "currency": "eur" }, | |
"attributes" : [ | |
{ | |
"sizes": [ "s", "m", "l"], | |
"colors": ["red", "blue", "green"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> docker build . -t dbup:latest | |
> docker run --rm -v $pwd/output/:/src/bin/ dbup:latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base | |
FROM microsoft/dotnet:2.2-sdk AS build | |
WORKDIR /src | |
COPY . . | |
RUN dotnet restore DbUp.csproj | |
ENTRYPOINT ["dotnet", "publish", "-r", "linux-x64", "-c", "release", "--self-contained"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class StoreOptionsExtensions | |
{ | |
public static void AddAsyncEventHandlers(this StoreOptions options, Func<Type, IEnumerable<object>> handlerFactory) | |
{ | |
options.Listeners.Add(new EventDispatcher(handlerFactory)); | |
} | |
} | |
public class EventDispatcher : DocumentSessionListenerBase | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UserAggregate : Aggregate<UserAggregate> | |
{ | |
public string Username { get; internal set; } = String.Empty; | |
public string Email { get; internal set; } = String.Empty; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class Aggregate<T> where T : Aggregate<T> | |
{ | |
private readonly List<Event<T>> newEvents = new List<Event<T>>(); | |
public Guid Id { get; protected internal set; } | |
public IEnumerable<Event<T>> NewEvents => this.newEvents.AsReadOnly(); | |
public void Replay(List<Event<T>> events) | |
{ | |
foreach (var @event in events) | |
Play(@event); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using MediatR; | |
public interface Event<T> : INotification where T : Aggregate<T> | |
{ | |
void When(T aggregate); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UsernameChangedEvent : Event<UserAggregate> | |
{ | |
public string Username { get; } | |
public Guid Id { get; } | |
public string OldUsername { get; } | |
public UsernameChangedEvent(string username, Guid id, string oldUsername) | |
{ | |
this.Username = username; | |
this.Id = id; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UsernameChangedEvent : Event | |
{ | |
public string Username { get; } | |
public Guid Id { get; } | |
public string OldUsername { get; } | |
public UsernameChangedEvent(string username, Guid id, string oldUsername) | |
{ | |
this.Username = username; | |
this.Id = id; |
NewerOlder