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"); } }
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); }); }
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); }); }
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"); } }