示例#1
0
        private async Task SeedMoviesToGet(CancellationToken cancellationToken)
        {
            logger.LogInformation("Seeding movies to get ...");

            var oldMovies = moviesToGetService.GetAllMovies().ToList();

            logger.LogInformation("Deleting movies to get: {DeletedMoviesToGet}", oldMovies.Select(x => x.Id.Value));
            foreach (var oldMovie in oldMovies)
            {
                await moviesToGetService.DeleteMovie(oldMovie.Id, cancellationToken);
            }

            foreach (var(id, movieInfo) in seedData.MoviesToGet)
            {
                idGeneratorQueue.EnqueueId(id.Value);
                await moviesToGetService.AddMovie(movieInfo, cancellationToken);
            }
        }
示例#2
0
        public async Task <RedirectToActionResult> AddMovie([FromForm] InputMovieInfoViewModel model, CancellationToken cancellationToken)
        {
            var movieInfo = model.ToMovieInfo();

            var checkResult = await movieUniquenessChecker.CheckMovie(movieInfo.MovieUri, cancellationToken);

            if (checkResult != MovieUniquenessCheckResult.MovieIsUnique)
            {
                FillDuplicatedMovieError(checkResult, movieInfo.MovieUri);

                return(RedirectToAction("Index"));
            }

            await moviesToGetService.AddMovie(movieInfo, cancellationToken);

            TempData[TempDataAddedMovie] = true;

            return(RedirectToAction("Index"));
        }