private void Handle(SessionCreatedEvent evt) { Id = evt.AggregateId; UserId = evt.UserId; CreateDateTime = evt.CreateDateTime; Version = evt.Version; }
public static SessionAggregate Create(string sessionId, string userId) { var result = new SessionAggregate(); var evt = new SessionCreatedEvent(Guid.NewGuid().ToString(), sessionId, 0, userId, DateTime.UtcNow); result.Handle(evt); return(result); }
public Guid StartSession(long gameId) { var game = _gameStorage .GetSingle(gameId) .ValueOrFailure($"No game exists with ID {gameId}"); var errands = _gameErrandStorage.GetForGame(gameId); var sessionId = _gameSessionStorage.CreateSession(game, errands); var newEvent = new SessionCreatedEvent(sessionId, errands.Count()); _gameSessionEvents.OnNext(newEvent); _gameSessionEventStorage.AddEvent(sessionId, newEvent); return(sessionId); }
private void NotifySessionCreated(VaspSession session) { var @event = new SessionCreatedEvent(session.SessionId); SessionCreated?.Invoke(@event); }