Exemplo n.º 1
0
        private ClientRolledDiceEvent createEvent(RollDiceCommand command)
        {
            var result = new ClientRolledDiceEvent();

            setBaseEventDetails(result, command);
            return(result);
        }
Exemplo n.º 2
0
        public void SendDiceRoll(string rollFormula)
        {
            var connectionId = Context.ConnectionId;
            Client client;
            if (!_services.TryGetClient(connectionId, out client))
            {
                throw new Exception("cannot send dice roll - unrecognised client connection");
            }

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

            var model = new RollDiceCommand { Sender = client, DiceRollFormula = rollFormula, TimeStamp = DateTime.UtcNow };

            var session = _services.GetSession(sessionId);
            _services.HandleCommand(session, model);
        }
Exemplo n.º 3
0
        public void HandleCommand(Session session, RollDiceCommand command)
        {
            var rollSpec = DiceService.ParseFormula(command.DiceRollFormula);
            var roll     = DiceService.RollDice(rollSpec);

            var newEvent = createEvent(command);

            newEvent.Roll = roll;
            storeEvent(session, newEvent);

            //Mappings
            Mapper.CreateMap <BaseClientEvent, BaseClientEventViewModel>()
            .Include <ClientRolledDiceEvent, ClientRolledDiceEventViewModel>();
            Mapper.CreateMap <ClientRolledDiceEvent, ClientRolledDiceEventViewModel>();
            Mapper.CreateMap <DiceGroupRoll, DiceGroupRollViewModel>();

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

            _clients.Group(session.Id).onNewMessage(viewModel);
        }
Exemplo n.º 4
0
 private ClientRolledDiceEvent createEvent(RollDiceCommand command)
 {
     var result = new ClientRolledDiceEvent();
     setBaseEventDetails(result, command);
     return result;
 }
Exemplo n.º 5
0
        public void HandleCommand(Session session, RollDiceCommand command)
        {
            var rollSpec = DiceService.ParseFormula(command.DiceRollFormula);
            var roll = DiceService.RollDice(rollSpec);

            var newEvent = createEvent(command);
            newEvent.Roll = roll;
            storeEvent(session, newEvent);

            //Mappings
            Mapper.CreateMap<BaseClientEvent, BaseClientEventViewModel>()
                  .Include<ClientRolledDiceEvent, ClientRolledDiceEventViewModel>();
            Mapper.CreateMap<ClientRolledDiceEvent, ClientRolledDiceEventViewModel>();
            Mapper.CreateMap<DiceGroupRoll, DiceGroupRollViewModel>();

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