private async Task BeginOpacityAnimations() { await PosterImage.FadeTo(1, PosterAnimationTime); DetailsContainer.FadeTo(1, 2 * PosterAnimationTime); BackdropMask.FadeTo(BackdropTargetOpacity, 5 * PosterAnimationTime); }
private async Task <int> GetMoviePoster(Movie movie, PosterImage posterImage) { // After removed key string key = "**INSERT REF TO API KEY"; HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("X-RapidAPI-Host", "imdb-internet-movie-database-unofficial.p.rapidapi.com"); client.DefaultRequestHeaders.Add("X-RapidAPI-Key", key); string query = HttpUtility.UrlEncode(movie.Title); Uri posterRequest = new Uri("https://imdb-internet-movie-database-unofficial.p.rapidapi.com/film/" + query); var response = await client.GetAsync(posterRequest); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); JObject jsonString = JObject.Parse(content); string imageUrl = jsonString["poster"].ToString(); posterImage.PosterLink = imageUrl; _context.PosterImages.Add(posterImage); _context.SaveChanges(); movie.PlotSynop = jsonString["plot"].ToString(); var last = _context.PosterImages.OrderByDescending(p => p.PosterImageId).First(); return(last.PosterImageId); }
private async void CurrentOnStateChanged(object sender, StateChangedEventArgs e) { switch (e.State) { case MediaPlayerState.Playing: { _isPlaying = true; await PosterImage.FadeTo(0); await Animate(); break; } default: { if (_isPlaying) { CrossMediaManager.Current.StateChanged -= CurrentOnStateChanged; _isPlaying = false; await ScaleOutTitleImageAsync(); await PosterImage.FadeTo(1); } break; } } }
public async Task <IActionResult> Post([FromBody] Movie value) { // Create movie in db logic if (!ModelState.IsValid) { return(BadRequest()); } PosterImage newPoster = new PosterImage(); value.PosterImageId = await GetMoviePoster(value, newPoster); _context.Movies.Add(value); _context.SaveChanges(); Movie insertedMovie = _context.Movies.OrderByDescending(m => m.MovieId).Include(m => m.PosterImage).First(); return(Ok(insertedMovie)); }
public IActionResult Put([FromBody] Movie updatedMovie) { // Update movie in db logic Movie movieToUpdate = _context.Movies.Where(m => m.MovieId == updatedMovie.MovieId).FirstOrDefault(); // Validation backup Check that incoming isn't empty or null, if it is, set to original value. Allows sending only one input to change. movieToUpdate.Title = (updatedMovie.Title == "" || updatedMovie.Title == null) ? movieToUpdate.Title : updatedMovie.Title; movieToUpdate.Director = (updatedMovie.Director == "" || updatedMovie.Director == null) ? movieToUpdate.Director : updatedMovie.Director; movieToUpdate.Genre = (updatedMovie.Genre == "" || updatedMovie.Genre == null) ? movieToUpdate.Genre : updatedMovie.Genre; movieToUpdate.PosterImageId = (updatedMovie.PosterImageId == null) ? movieToUpdate.PosterImageId : updatedMovie.PosterImageId; movieToUpdate.PlotSynop = (updatedMovie.PlotSynop == null) ? movieToUpdate.PlotSynop : updatedMovie.PlotSynop; PosterImage poster = _context.PosterImages.Where(p => p.PosterImageId == movieToUpdate.PosterImageId).SingleOrDefault(); poster.PosterLink = (updatedMovie.PosterImage.PosterLink == null) ? movieToUpdate.PosterImage.PosterLink : updatedMovie.PosterImage.PosterLink; _context.SaveChanges(); Movie updatedMovieInDb = _context.Movies.Where(m => m.MovieId == updatedMovie.MovieId).Include(m => m.PosterImage).Single(); return(Ok(updatedMovieInDb)); }
/// <summary> /// 将线上批发商城的宣传海报图片上传到腾讯云 /// </summary> /// <param name="photoData"></param> public void UploadPfPosterImageToCos(PosterImage posterImage) { this.engine.CustomizeOutter.SendBlob(null, EMallInformationTypes.UploadPfPosterImageToCos, SerializeHelper.ResultToSerialize(posterImage), 2 * 1024 * 1024); }