Beispiel #1
0
        private ClientSentMessageEvent createEvent(SendMessageCommand command)
        {
            var result = new ClientSentMessageEvent {
                Text = command.Text
            };

            setBaseEventDetails(result, command);
            return(result);
        }
Beispiel #2
0
        public void HandleCommand(Session session, SendMessageCommand command)
        {
            var newEvent = createEvent(command);

            storeEvent(session, newEvent);

            //Mappings
            Mapper.CreateMap <BaseClientEvent, BaseClientEventViewModel>()
            .Include <ClientSentMessageEvent, ClientSentMessageEventViewModel>();
            Mapper.CreateMap <ClientSentMessageEvent, ClientSentMessageEventViewModel>();

            var viewModel = Mapper.Map(newEvent, newEvent.GetType(), typeof(ClientSentMessageEventViewModel));

            _clients.Group(session.Id).onNewMessage(viewModel);
        }
Beispiel #3
0
        public void SendMessage(string messageText)
        {
            var connectionId = Context.ConnectionId;
            Client client;
            if (!_services.TryGetClient(connectionId, out client))
            {
                throw new Exception("cannot send message - unrecognised client connection");
            }

            var sessionId = client.SessionId;
            if (string.IsNullOrEmpty(sessionId))
            {
                throw new Exception("cannot send message - client has not joined any sessions");
            }

            var model = new SendMessageCommand { Sender = client, Text = messageText, TimeStamp = DateTime.UtcNow };

            var session = _services.GetSession(sessionId);
            _services.HandleCommand(session, model);
        }
Beispiel #4
0
 private ClientSentMessageEvent createEvent(SendMessageCommand command)
 {
     var result = new ClientSentMessageEvent { Text = command.Text };
     setBaseEventDetails(result, command);
     return result;
 }
Beispiel #5
0
        public void HandleCommand(Session session, SendMessageCommand command)
        {
            var newEvent = createEvent(command);
            storeEvent(session, newEvent);

            //Mappings
            Mapper.CreateMap<BaseClientEvent, BaseClientEventViewModel>()
                  .Include<ClientSentMessageEvent, ClientSentMessageEventViewModel>();
            Mapper.CreateMap<ClientSentMessageEvent, ClientSentMessageEventViewModel>();

            var viewModel = Mapper.Map(newEvent, newEvent.GetType(), typeof(ClientSentMessageEventViewModel));
            _clients.Group(session.Id).onNewMessage(viewModel);
        }