public SolitaireContext() { string storePath = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "solitaire.db"); Type tEvent = typeof(IEvent); Type tTO = typeof(ITransferObject); var allTypes = System.Reflection.Assembly.GetExecutingAssembly().GetTypes(); var knownTypes = allTypes .Where(t => !t.IsAbstract) .Where(t => t.IsClass || t.IsValueType) .Where(t => tEvent.IsAssignableFrom(t) || tTO.IsAssignableFrom(t)) .Where(t => t.Namespace.StartsWith($"{nameof(VnodeTest)}.{nameof(BC)}.{nameof(Solitaire)}")).ToArray(); JSONFileEventStore store = new JSONFileEventStore(storePath, knownTypes); Repository = new Repository(store); var bus = MessageBus.Instance; SolitaireProjection = new SolitaireProjection(store, bus); SolitaireProjection.Init(); SolitaireHandler = new BC.Solitaire.Solitaire.Handler(Repository, bus); }
public SolitaireController(SolitaireProjection solitaireProjection, AccountProjection accountProjection, AccountID accountID) { SolitaireProjection = solitaireProjection; AccountProjection = accountProjection; AccountID = accountID; }