Beispiel #1
0
        public MeetingView Load(MeetingInputModel input)
        {
            using (var session = _documentStore.OpenSession())
            {
                var doc = session.Load <MeetingDocument>(RavenDb.GetId <MeetingDocument>(input.MeetingId));

                return(new MeetingView(doc.DocumentId, doc.Name, doc.WebCameraStreams));
            }
        }
Beispiel #2
0
        public void Handle(UserAssociatedWithIdentity @event)
        {
            using (var session = _documentStore.OpenSession())
            {
                var doc = session.Load <UserDocument>(RavenDb.GetId <UserDocument>(@event.AggregateId));
                doc.AccountAssociations.Add(new AccountAssociationDocument {
                    Identity = @event.Identity, Network = @event.Network
                });
                session.SaveChanges();

                _bus.PublishNotification(doc);
            }
        }
Beispiel #3
0
 public UserAccoutView Load(UserAccoutInputModel input)
 {
     using (var session = _documentStore.OpenSession())
     {
         var document = session.Load <UserDocument>(RavenDb.GetId <UserDocument>(input.UserId));
         return(new UserAccoutView
         {
             Email = document.Email,
             UserId = document.DocumentId,
             Nick = document.Nick,
         });
     }
 }
Beispiel #4
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);
            }
        }