예제 #1
0
        private async void AddStroke(Stroke stroke)
        {
            if (Scrim.StrokeIds.FirstOrDefault(x => x.Stroke == stroke) != null)
            {
                return;
            }
            HttpResponseMessage response = await client.PostAsJsonAsync("api/Paint/AddStroke", new AddStrokeData()
            {
                Data = ConvertStrokeToByteArray(stroke), BoardId = Scrim.Id
            });

            if (response.IsSuccessStatusCode)
            {
                string json = await response.Content.ReadAsStringAsync();

                Guid strokeId = JsonConvert.DeserializeObject <Guid>(json);

                StrokeId strokeIdObject = new StrokeId()
                {
                    Id     = strokeId,
                    Stroke = stroke
                };

                Scrim.StrokeIds.Add(strokeIdObject);
            }
            else
            {
                MessageBox.Show(response.RequestMessage.ToString(), "RequestError");
            }
        }
예제 #2
0
        private void OnStrokeRemoved(Guid id)
        {
            StrokeId strokeId = Scrim.StrokeIds.FirstOrDefault(s => s.Id == id);

            if (strokeId == null)
            {
                return;
            }
            Scrim.StrokeIds.Remove(strokeId);
            Application.Current.Dispatcher.Invoke(() =>
            {
                Strokes.Remove(strokeId.Stroke);
            });
        }
예제 #3
0
        private void OnStrokeAdded(StrokeData strokeData)
        {
            if (strokeData.BoardId != Scrim.Id)
            {
                return;
            }
            StrokeId strokeId = ConvertStrokeDataToStrokeId(strokeData);

            Scrim.StrokeIds.Add(strokeId);
            Application.Current.Dispatcher.Invoke(() =>
            {
                Strokes.Add(strokeId.Stroke);
            });
        }
예제 #4
0
        private async void RemoveStroke(Stroke stroke)
        {
            if (Scrim.StrokeIds.FirstOrDefault(x => x.Stroke == stroke) == null)
            {
                return;
            }
            StrokeId            strokeId = Scrim.StrokeIds.First(x => x.Stroke == stroke);
            HttpResponseMessage response = await client.PostAsJsonAsync("api/Paint/RemoveStroke", strokeId.Id);

            if (response.IsSuccessStatusCode)
            {
                Scrim.StrokeIds.Remove(strokeId);
            }
            else
            {
                MessageBox.Show(response.RequestMessage.ToString(), "RequestError");
            }
        }