示例#1
0
        public IActionResult AddMovie([FromForm] MovieForAddingDto movieForAddingDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var file         = movieForAddingDto.File;
            var uploadResult = new ImageUploadResult();

            if (file.Length > 0)
            {
                using (var stream = file.OpenReadStream())
                {
                    var uploadParams = new ImageUploadParams()
                    {
                        File           = new FileDescription(file.Name, stream),
                        Transformation = new Transformation().Width(300).Height(450)
                    };
                    uploadResult = _cloudinary.Upload(uploadParams);
                }
                movieForAddingDto.PublicId = uploadResult.PublicId;
                movieForAddingDto.PhotoUrl = uploadResult.Uri.ToString();
            }

            var movie = _mapper.Map <Movie>(movieForAddingDto);
            var photo = new Photo
            {
                Url      = movieForAddingDto.PhotoUrl,
                PublicId = movieForAddingDto.PublicId,
                Movie    = movie
            };

            if (!movie.Photos.Any())
            {
                photo.isMain = true;
            }

            movie.Photos.Add(photo);

            _context.Movies.Add(movie);
            var movieToReturn = new MovieForListDto();


            _context.SaveChanges();
            _mapper.Map(movie, movieToReturn);

            return(Ok(movieToReturn));
        }
示例#2
0
        public IActionResult AddWithOutPhoto([FromBody] MovieForAddingDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var movie = new Movie();

            _mapper.Map(dto, movie);
            _context.Add(movie);
            _context.SaveChanges();

            return(Ok(movie));
        }