public void Save(SessionProjection projection)
        {
            if (_projectionsById.ContainsKey(projection.SessionId))
            {
                _projectionsById[projection.SessionId] = projection;
                return;
            }

            _projectionsById.Add(projection.SessionId, projection);
        }
示例#2
0
        private async Task ProjectAsync(SessionId id)
        {
            var session = await _sessionRepository.GetAsync(id);

            if (session != null)
            {
                var speakers = await Task.WhenAll(session.Speakers.Select(async s => (await _personProjectionStore.GetNameAsync(s)) !));

                var projection = new SessionProjection(session.Id, session.Title, session.Description, session.Schedule, session.Status, session.Tags, speakers);
                await _sessionProjectionStore.MergeProjectionAsync(projection);
            }
        }
示例#3
0
 public Task MergeProjectionAsync(SessionProjection projection)
 {
     throw new NotImplementedException();
 }
示例#4
0
 public void ReplaceBy(SessionProjection projection)
 {
     Save(projection);
 }
示例#5
0
 public void Save(SessionProjection projection)
 {
     _projectionsById[projection.SessionId] = projection;
 }
示例#6
0
 public Task MergeProjectionAsync(SessionProjection projection)
 {
     _projections[projection.Id] = projection;
     return(Task.CompletedTask);
 }