/// <summary>Edits the clicked MediaObject inside of the AdaptiveGridView.</summary> /// <param name="clickedItem">The clicked item.</param> private void EditCommand_ItemClicked(MediaObject clickedItem) { GetCurrentGrid(); switch (_storedItem.GetType().Name) { case "Game": _storedItemIndex = CreateObjectsViewModel.Games.IndexOf(clickedItem as Game); break; case "Image": _storedItemIndex = CreateObjectsViewModel.Images.IndexOf(clickedItem as Modell.ChallengeObjects.Image); break; case "Music": _storedItemIndex = CreateObjectsViewModel.Music.IndexOf(clickedItem as Music); break; } ConnectedAnimation animation = Collection.PrepareConnectedAnimation("forwardAnimation", _storedItem, "connectedElement"); SmokeGrid.Visibility = Visibility.Visible; ((SmokeGridChild.Children[0] as Grid).Children[0] as ImageEx).Source = _storedItem.URI; (SmokeGridChild.Children[1] as TextBox).Text = _storedItem.Name; animation.TryStart(SmokeGrid.Children[0]); }
/// <summary>Creates the media object asynchronous.</summary> /// <param name="param">The parameter.</param> /// <returns></returns> public async Task <MediaObject> CreateMediaObjectAsync(MediaObject param) { if (!param.Name.Equals("")) { string json = await Task.Run(() => JsonConvert.SerializeObject(param)); var type = param.GetType().Name; HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage result = await _httpClient.PostAsync(new Uri(MediaObjectsBaseUri, "MediaObjects/?type=" + type), content); param.ID = int.Parse(result.Headers.Location.Segments.Last()); } return(param); }