Exemple #1
0
 private void Apply(CameraStreamCreated @event)
 {
     Id         = @event.AggregateId;
     OwnerUser  = @event.OwnerUser;
     MeetingId  = @event.MeetingId;
     StreamLink = @event.StreamSource;
 }
Exemple #2
0
        public void Handle(CameraStreamCreated @event)
        {
            using (var session = _documentStore.OpenSession())
            {
                var doc = session.Load <MeetingDocument>(RavenDb.GetId <MeetingDocument>(@event.MeetingId));

                var stream = doc.WebCameraStreams.FirstOrDefault(cameraStream => cameraStream.OwnerUser == @event.OwnerUser);
                if (stream == null)
                {
                    doc.WebCameraStreams.Add(new WebCameraStream(@event.OwnerUser, @event.StreamSource));
                }
                else
                {
                    stream.StreamSource = @event.StreamSource;
                }

                session.SaveChanges();
                _bus.PublishNotification(doc);
            }
        }