public async Task <ActionResult> Put(int id, [FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { var peliculaDB = await context.Peliculas .Include(x => x.PeliculasActores) .Include(x => x.PeliculasGeneros) .FirstOrDefaultAsync(x => x.Id == id); if (peliculaDB == null) { return(NotFound()); } peliculaDB = mapper.Map(peliculaCreacionDTO, peliculaDB); if (peliculaCreacionDTO.Poster != null) { using (var memorystream = new MemoryStream()) { await peliculaCreacionDTO.Poster.CopyToAsync(memorystream); var contenido = memorystream.ToArray(); var extension = Path.GetExtension(peliculaCreacionDTO.Poster.FileName); peliculaDB.Poster = await almacenadorArchivos.EditarArchivo(contenido, extension, contenedor, peliculaDB.Poster, peliculaCreacionDTO.Poster.ContentType); } } AsignarOrdenActores(peliculaDB); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Put(int id, [FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { var pelicula = await context.Peliculas .Include(x => x.PeliculasActores) .Include(x => x.PeliculasGeneros) .Include(x => x.PeliculasCines) .FirstOrDefaultAsync(x => x.Id == id); if (pelicula == null) { return(NotFound()); } pelicula = mapper.Map(peliculaCreacionDTO, pelicula); if (peliculaCreacionDTO.Poster != null) { pelicula.Poster = await almacenadorArchivos.EditarArchivo(contenedor, peliculaCreacionDTO.Poster, pelicula.Poster); } EscribirOrdenActores(pelicula); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Put(int id, [FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { //Porque viene de forma hacemos esto otro para actualizar los datos var peliculaDB = await context.Peliculas .Include(x => x.PeliculasActores) .Include(x => x.PeliculasGeneros) .FirstOrDefaultAsync(x => x.Id == id); if (peliculaDB == null) { return(NotFound()); } //Solo los campos que son diferenten entre actorDB y actorCreacionDTO se actualizaran - //En las configuraciones de mapeo se va ignorar el campo foto, para que no se mapee automaticamente, ya en en actor.Foto es string y actorCreacionDTO.Foto es un IFormFile peliculaDB = mapper.Map(peliculaCreacionDTO, peliculaDB); if (peliculaCreacionDTO.Poster != null) { using (var memoryStream = new MemoryStream()) { await peliculaCreacionDTO.Poster.CopyToAsync(memoryStream); var contenido = memoryStream.ToArray(); var extension = Path.GetExtension(peliculaCreacionDTO.Poster.FileName); peliculaDB.Poster = await almacenadorArchivos.EditarArchivo(contenido, extension, contenedor, peliculaDB.Poster, peliculaCreacionDTO.Poster.ContentType); } } AsignarOrdenActores(peliculaDB); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post([FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { var pelicula = mapper.Map <Pelicula>(peliculaCreacionDTO); //return Ok(); if (peliculaCreacionDTO.Poster != null) { using (var memorystream = new MemoryStream()) { await peliculaCreacionDTO.Poster.CopyToAsync(memorystream); var contenido = memorystream.ToArray(); var extension = Path.GetExtension(peliculaCreacionDTO.Poster.FileName); pelicula.Poster = await almacenadorArchivos.GuardarArchivo(contenido, extension, contenedor, peliculaCreacionDTO.Poster.ContentType); } } AsignarOrdenActores(pelicula); context.Add(pelicula); await context.SaveChangesAsync(); var peliculaDTO = mapper.Map <PeliculaDTO>(pelicula); return(new CreatedAtRouteResult("obtenerPelicula", new { id = pelicula.Id }, peliculaDTO)); }
public async Task <ActionResult> Post([FromForm] PeliculaCreacionDTO peliculaDto) { var entidad = mapper.Map <Pelicula>(peliculaDto); if (peliculaDto.Poster != null) { using (var memmoryStream = new MemoryStream()) { await peliculaDto.Poster.CopyToAsync(memmoryStream); var contenido = memmoryStream.ToArray(); var Extension = Path.GetExtension(peliculaDto.Poster.FileName); entidad.Poster = await almacenador.GuardarArchivo(contenido, Extension, contenedor, peliculaDto.Poster.ContentType); } } AsignarOrdenActor(entidad); await context.AddAsync(entidad); await context.SaveChangesAsync(); var pelicula = mapper.Map <PeliculaDetallesDTO>(entidad); return(new CreatedAtRouteResult("GetPelicula", new { id = entidad.Id }, pelicula)); }
public async Task <ActionResult> Put(int id, [FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { /* Necesitamos hacer los Include() porque vamos a editar en memoria una pelicula y esa actualizacion nesecitamos que agarre * los cambios realizados en la entidades relacionadas, para así, realizar las actualizaciones adecuadas en dichas tablas relacionadas. * Ej: si borramos un genero, queremos que efectivamente se borre ese genero de la relacion pelicula-generos. */ var pelicula = await context.Peliculas .Include(x => x.PeliculasActores) .Include(x => x.PeliculasGeneros) .Include(x => x.PeliculasCines) .FirstOrDefaultAsync(x => x.Id == id); if (pelicula == null) { return(NotFound()); } pelicula = mapper.Map(peliculaCreacionDTO, pelicula); if (peliculaCreacionDTO.Poster != null) { // carpeta IFormFile Ruta: string pelicula.Poster = await almacenadorArchivos.EditarArchivo(contenedor, peliculaCreacionDTO.Poster, pelicula.Poster); } EscribirOrdenActores(pelicula); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult <int> > Post([FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { var pelicula = mapper.Map <Pelicula>(peliculaCreacionDTO); if (peliculaCreacionDTO.Poster != null) { pelicula.Poster = await almacenadorArchivos.GuardarArchivo(contenedor, peliculaCreacionDTO.Poster); // guardar poster } EscribirOrdebdeActores(pelicula); context.Add(pelicula); await context.SaveChangesAsync(); return(pelicula.Id); //para retornar }
private List <PeliculasActores> MapPeliculasActores(PeliculaCreacionDTO peliculaCreacionDTO, Pelicula pelicula) { var resultado = new List <PeliculasActores>(); if (peliculaCreacionDTO.Actores == null) { return(resultado); } foreach (var actor in peliculaCreacionDTO.Actores) { resultado.Add(new PeliculasActores() { ActorId = actor.ActorID, Personaje = actor.Personaje }); } return(resultado); }
private List <PeliculasGeneros> MapPeliculasGenero(PeliculaCreacionDTO peliculaCreacionDTO, Pelicula pelicula) { var resultado = new List <PeliculasGeneros>(); if (peliculaCreacionDTO.GenerosIDs == null) { return(resultado); } foreach (var id in peliculaCreacionDTO.GenerosIDs) { resultado.Add(new PeliculasGeneros() { GeneroId = id }); } return(resultado); }
private List <PeliculasCines> MapearPeliculaCines(PeliculaCreacionDTO peliculaCreacionDTO, Pelicula pelicula) { var resultado = new List <PeliculasCines>(); if (peliculaCreacionDTO.CinesIds == null) { return(resultado); } foreach (var id in peliculaCreacionDTO.CinesIds) { resultado.Add(new PeliculasCines() { CineID = id }); } return(resultado); }
public async Task <ActionResult> Post([FromForm] PeliculaCreacionDTO peliculaCreacionDTO) { var pelicula = mapper.Map <Pelicula>(peliculaCreacionDTO); if (peliculaCreacionDTO.Poster != null) { // Guardamos la foto en la nube y guardamos la url devuelta por el metodo en pelicula.Poster pelicula.Poster = await almacenadorArchivos.GuardarArchivo(contenedor, peliculaCreacionDTO.Poster); } EscribirOrdenActores(pelicula); context.Add(pelicula); await context.SaveChangesAsync(); return(NoContent()); }
public async Task <ActionResult> Post([FromForm] PeliculaCreacionDTO peliculaCreacion) { Pelicula pelicula; pelicula = mapper.Map <Pelicula>(peliculaCreacion); if (peliculaCreacion.Poster != null) { pelicula.Poster = await almacenadorArchivos.GuardarArchivo(CONTENEDOR, peliculaCreacion.Poster); } OrdenActores(pelicula); context.Add(pelicula); await context.SaveChangesAsync(); return(NoContent()); }
private List <PeliculasGeneros> MapearPeliculasGeneros(PeliculaCreacionDTO peliculaCreacionDTO, Pelicula pelicula) { List <PeliculasGeneros> resultado; resultado = new List <PeliculasGeneros>(); if (peliculaCreacionDTO.GenerosIds == null) { return(resultado); } foreach (int id in peliculaCreacionDTO.GenerosIds) { resultado.Add(new PeliculasGeneros() { GeneroId = id }); } return(resultado); }