public CanvasBrushAction AddBrushAction(string aCanvasId, CanvasBrushAction aBrushData) { int transactionNumber; using ( var redisConnection = new RedisConnection(_redisConfiguration.HostName, _redisConfiguration.Port, password: _redisConfiguration.Password)) { redisConnection.Open(); var incTask = redisConnection.Hashes.Increment(0, string.Format("{0}{1}", TransactionPrefix, aCanvasId), "transaction"); transactionNumber = (int)incTask.Result; } aBrushData.Sequence = transactionNumber; var serializedData = JsonConvert.SerializeObject(aBrushData); using ( var redisConnection = new RedisConnection(_redisConfiguration.HostName, _redisConfiguration.Port, password: _redisConfiguration.Password)) { redisConnection.Open(); redisConnection.Lists.AddLast(0, string.Format("{0}{1}", ActionPrefix, aCanvasId), serializedData); } return(aBrushData); }
public CanvasBrushAction AddBrushAction(string aCanvasId, CanvasBrushAction aBrushData) { if (!_canvasTransactions.ContainsKey(aCanvasId)) { _canvasTransactions[aCanvasId] = 0; } var transactionNumber = /*_canvasTransactions[aCanvasId] =*/ _canvasTransactions[aCanvasId]++; if (!_canvasActions.ContainsKey(aCanvasId)) { _canvasActions[aCanvasId] = new ConcurrentBag <CanvasBrushAction>(); } aBrushData.Sequence = transactionNumber; _canvasActions[aCanvasId].Add(aBrushData); return(aBrushData); }
public void SendDrawCommand(CanvasBrushAction brushData) { var canvasBrushAction = _canvasRoomService.AddBrushAction(GetCanvasIdFromQueryString(), brushData); Clients.Group(GetCanvasIdFromQueryString()).DrawCanvasBrushAction(canvasBrushAction); }
public CanvasBrushAction AddBrushAction(string aCanvasId, CanvasBrushAction aBrushData) { return(_memStorage.AddBrushAction(aCanvasId, aBrushData)); }