Esempio n. 1
0
 private void Handle(SessionCreatedEvent evt)
 {
     Id             = evt.AggregateId;
     UserId         = evt.UserId;
     CreateDateTime = evt.CreateDateTime;
     Version        = evt.Version;
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }