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)); }