public void PlaceLine(LineInformation lineInformation)
        {
            var connectionId = this.Context.ConnectionId;

            Debug.WriteLine(string.Format("{0}: {1}", connectionId, JsonConvert.SerializeObject(lineInformation)));

            var allClients = this.Clients.All;
            allClients.DrawLine(lineInformation);
        }
		private void InvokePlaceLine(Point point)
		{
			if ((point.X < 0) || (point.Y < 0))
			{
				return;
			}

			var color = colorPicker.Color;

			var lineInformation = new LineInformation
			{
				X0 = lastPoint_.X,
				Y0 = lastPoint_.Y,
				X1 = point.X,
				Y1 = point.Y,
				Alpha = color.A,
				Red = color.R,
				Green = color.G,
				Blue = color.B
			};

			lastPoint_ = point;

			Debug.WriteLine(string.Format("InvokePlaceLine: {0}", JsonConvert.SerializeObject(lineInformation)));

			shareWhiteBoardHub_.Invoke("PlaceLine", lineInformation);
		}
		private void OnDrawLine(LineInformation lineInformation)
		{
			Debug.WriteLine(string.Format("OnDrawLine: {0}", JsonConvert.SerializeObject(lineInformation)));

			this.Dispatcher.BeginInvoke(new Action(() =>
			   {
				   var polyline = new Polyline
				   {
					   Stroke = new SolidColorBrush(Color.FromArgb(
						   lineInformation.Alpha,
						   lineInformation.Red,
						   lineInformation.Green,
						   lineInformation.Blue)),
					   StrokeThickness = 2
				   };

				   polyline.Points.Add(new Point(lineInformation.X0, lineInformation.Y0));
				   polyline.Points.Add(new Point(lineInformation.X1, lineInformation.Y1));

				   whiteBoard.Children.Add(polyline);
			   }));
		}