private ClientRolledDiceEvent createEvent(RollDiceCommand command) { var result = new ClientRolledDiceEvent(); setBaseEventDetails(result, command); return(result); }
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); }
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); }
private ClientRolledDiceEvent createEvent(RollDiceCommand command) { var result = new ClientRolledDiceEvent(); setBaseEventDetails(result, command); return result; }
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); }