Example #1
0
        public async Task <IDataResult <Movie> > Insert(MovieInsertDto movieInsertDto)
        {
            var movie = _mapper.Map <Movie>(movieInsertDto);

            movie.CreatedDate = movie.ModifiedDate;
            var insertedMovie = await _unitOfWork.Movies.InsertAsync(movie);

            await _unitOfWork.SaveAsync();

            if (insertedMovie != null)
            {
                foreach (var item in movieInsertDto.Casts)
                {
                    await _unitOfWork.MovieCasts.InsertAsync(
                        new MovieCast { CastId = item, MovieId = insertedMovie.Id });
                }

                foreach (var item in movieInsertDto.Directors)
                {
                    await _unitOfWork.MovieDirectors.InsertAsync(
                        new MovieDirector { DirectorId = item, MovieId = insertedMovie.Id });
                }

                foreach (var item in movieInsertDto.Scenarists)
                {
                    await _unitOfWork.MovieScenarists.InsertAsync(
                        new MovieScenarist { ScenaristId = item, MovieId = insertedMovie.Id });
                }

                foreach (var item in movieInsertDto.Genres)
                {
                    await _unitOfWork.MovieGenres.InsertAsync(
                        new MovieGenre { GenreId = item, MovieId = insertedMovie.Id });
                }

                foreach (var item in movieInsertDto.Languages)
                {
                    await _unitOfWork.MovieLanguages.InsertAsync(
                        new MovieLanguage { LanguageId = item, MovieId = insertedMovie.Id, IsOriginal = false });
                }
                await _unitOfWork.SaveAsync();

                return(new DataResult <Movie>(ResultStatus.Success, insertedMovie));
            }

            return(new DataResult <Movie>(ResultStatus.Error, null));
        }
        public async Task <JsonResult> Insert(MovieInsertDto movieInsertDto)
        {
            var user = _userManager.GetUserAsync(HttpContext.User).Result;

            movieInsertDto.CreatedByUserName  = user.UserName;
            movieInsertDto.ModifiedByUserName = user.UserName;
            movieInsertDto.PosterPath         = await ImageExtensions.ImageUpload(
                movieInsertDto.Name, $"movies/{movieInsertDto.Name}",
                movieInsertDto.Poster,
                _env);

            //Username
            var insertedMovie = await _movieService.Insert(movieInsertDto);

            if (insertedMovie.ResultStatus == ResultStatus.Success)
            {
                return(Json(0));
            }
            return(Json(1));
        }