using System.Threading.Tasks;
public static void Main()
var u = new User(){ Id = Guid.NewGuid(), Name = "John" };
new UserRepository().AddUser(u);
Console.WriteLine("User created");
public Guid Id{ get; set; }
public string Name { get; set;}
public class UserRepository
public void AddUser(User u)
new EventHub().UserCreatedEventAsync(u).GetAwaiter().GetResult();
public User ReadById(Guid id)
return new User(){ Id = id };
public Task UserCreatedEventAsync(User u)
return Task.CompletedTask;