protected async Task Consume(string sessionId, string userId, Action <SessionAggregate> callback)
        {
            var session = await _sessionCommandRepository.Get(sessionId, CancellationToken.None);

            if (session == null)
            {
                session = SessionAggregate.Create(sessionId, userId);
                callback(session);
                await _sessionCommandRepository.Add(session, CancellationToken.None);
            }
            else
            {
                callback(session);
                await _sessionCommandRepository.Update(session, CancellationToken.None);
            }

            await _sessionCommandRepository.SaveChanges(CancellationToken.None);
        }
 public Task Update(SessionAggregate session, CancellationToken cancellationToken)
 {
     _dbContext.Sessions.Update(session);
     return(Task.CompletedTask);
 }