public IActionResult CrearPelicula([FromForm] PeliculaCreateDto peliculaCreateDto)
        {
            if (peliculaCreateDto == null)
            {
                return(BadRequest(ModelState));
            }

            if (_pelRepo.ExistePelicula(peliculaCreateDto.Nombre))
            {
                ModelState.AddModelError("", "La película ya existe");
                return(StatusCode(404, ModelState));
            }

            /*Subida de archivos*/

            var    archivo       = peliculaCreateDto.Foto;
            string rutaPrincipal = _hostingEnvironment.WebRootPath;
            var    archivos      = HttpContext.Request.Form.Files;

            if (archivo.Length > 0)
            {
                //Nueva imágen
                var subidas    = Path.Combine(rutaPrincipal, @"fotos");
                var nombreFoto = Guid.NewGuid().ToString();
                var extension  = Path.GetExtension(archivos[0].FileName);

                using (var fileStream = new FileStream(Path.Combine(subidas, nombreFoto + extension), FileMode.Create))
                {
                    archivos[0].CopyTo(fileStream);
                }

                peliculaCreateDto.RutaImagen = @"\fotos\" + nombreFoto + extension;
            }

            var pelicula = _mapper.Map <Pelicula>(peliculaCreateDto);

            if (!_pelRepo.CrearPelicula(pelicula))
            {
                ModelState.AddModelError("", $"Algo salio mal guardando el registro {pelicula.Nombre}");
                return(StatusCode(500, ModelState));
            }

            //return Ok();

            //Retorna el último registro insertado.
            return(CreatedAtRoute("GetPelicula", new { peliculaId = pelicula.Id }, pelicula));
        }
        public IActionResult CrearPelicula([FromForm] PeliculaCreateDto peliculaDTO)
        {
            if (peliculaDTO == null)
            {
                return(NotFound());
            }
            if (_pelRepo.ExistePelicula(peliculaDTO.Nombre))
            {
                ModelState.AddModelError("", $"La pelicula ya existe {peliculaDTO.Nombre}");
                return(StatusCode(404, ModelState));
            }

            //Subir Archivo

            var    archivo       = peliculaDTO.Foto;
            string rutaPrincipal = _hostingEnvironment.WebRootPath;
            var    archivos      = HttpContext.Request.Form.Files;

            if (archivo.Length > 0)
            {
                //Nueva Imagen
                var nombreFoto = Guid.NewGuid().ToString();
                var subidas    = Path.Combine(rutaPrincipal, @"fotos");
                var extension  = Path.GetExtension(archivos[0].FileName);

                using (var fileStreams = new FileStream(Path.Combine(subidas, nombreFoto + extension), FileMode.Create))
                {
                    archivos[0].CopyTo(fileStreams);
                }
                peliculaDTO.RutaImagen = @"\fotos\" + nombreFoto + extension;
            }

            var pelicula = _mapper.Map <Pelicula>(peliculaDTO);

            if (!_pelRepo.CrearPelicula(pelicula))
            {
                ModelState.AddModelError("", $"Algo salió mal creando la Pelicula {pelicula.Nombre}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetPelicula", new { peliculaId = pelicula.Id }, pelicula));
        }