private async Task BeginOpacityAnimations()
        {
            await PosterImage.FadeTo(1, PosterAnimationTime);

            DetailsContainer.FadeTo(1, 2 * PosterAnimationTime);
            BackdropMask.FadeTo(BackdropTargetOpacity, 5 * PosterAnimationTime);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
            }
            }
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }
Пример #6
0
 /// <summary>
 /// 将线上批发商城的宣传海报图片上传到腾讯云
 /// </summary>
 /// <param name="photoData"></param>
 public void UploadPfPosterImageToCos(PosterImage posterImage)
 {
     this.engine.CustomizeOutter.SendBlob(null, EMallInformationTypes.UploadPfPosterImageToCos, SerializeHelper.ResultToSerialize(posterImage), 2 * 1024 * 1024);
 }