protected override void HandleMessage(EntitySnapshotRequest <User> message)
        {
            IReadOnlyEntityRepository <User> userRepository = ServiceRegistry.GetService <RepositoryManager>().GetRepository <User>();
            var clientManager = ServiceRegistry.GetService <IClientManager>();

            IEnumerable <User> currentUsers = userRepository.GetAllEntities();
            var userSnapshot = new EntitySnapshot <User>(currentUsers);

            clientManager.SendMessageToClient(userSnapshot, message.UserId);
        }
        protected override void HandleMessage(EntitySnapshotRequest <Conversation> message)
        {
            var participationRepository = (ParticipationRepository)ServiceRegistry.GetService <RepositoryManager>().GetRepository <Participation>();
            IReadOnlyEntityRepository <Conversation> conversationRepository = ServiceRegistry.GetService <RepositoryManager>().GetRepository <Conversation>();
            var clientManager = ServiceRegistry.GetService <IClientManager>();

            IEnumerable <int> conversationIds = participationRepository.GetAllConversationIdsByUserId(message.UserId);

            List <Conversation> conversations = conversationIds.Select(conversationRepository.FindEntityById).ToList();

            var conversationSnapshot = new EntitySnapshot <Conversation>(conversations);

            clientManager.SendMessageToClient(conversationSnapshot, message.UserId);
        }
示例#3
0
        protected override void HandleMessage(EntitySnapshotRequest <Participation> message)
        {
            var participationRepository = (ParticipationRepository)ServiceRegistry.GetService <RepositoryManager>().GetRepository <Participation>();
            var clientManager           = ServiceRegistry.GetService <IClientManager>();

            var userParticipations = new List <Participation>();

            foreach (int conversationId in participationRepository.GetAllConversationIdsByUserId(message.UserId))
            {
                userParticipations.AddRange(participationRepository.GetParticipationsByConversationId(conversationId));
            }

            var participationSnapshot = new EntitySnapshot <Participation>(userParticipations);

            clientManager.SendMessageToClient(participationSnapshot, message.UserId);
        }
示例#4
0
        public override void BeforeEachTest()
        {
            base.BeforeEachTest();

            participationSnapshotRequest = new EntitySnapshotRequest <Participation>(DefaultUser.Id);
        }
示例#5
0
            public void ThrowsExceptionWhenMessageIsNotUserSnapshotRequest()
            {
                var participationSnapshotRequest = new EntitySnapshotRequest <Conversation>(DefaultUser.Id);

                Assert.Throws <InvalidCastException>(() => HandleMessage(participationSnapshotRequest));
            }
示例#6
0
 public override void BeforeEachTest()
 {
     base.BeforeEachTest();
     userSnapshotRequest = new EntitySnapshotRequest <User>(DefaultUser.Id);
 }
        public override void BeforeEachTest()
        {
            base.BeforeEachTest();

            conversationSnapshotRequest = new EntitySnapshotRequest <Conversation>(DefaultUser.Id);
        }