예제 #1
0
        public async Task <ActionResult> Put(Pelicula pelicula)
        {
            Pelicula peliculaDB = await _context.Peliculas.FirstOrDefaultAsync(p => p.Id == pelicula.Id);

            if (peliculaDB == null)
            {
                return(NotFound());
            }

            peliculaDB = _mapper.Map(pelicula, peliculaDB);

            if (!string.IsNullOrWhiteSpace(pelicula.Poster))
            {
                byte[] posterImage = Convert.FromBase64String(pelicula.Poster);
                peliculaDB.Poster = await _almacenadorArchivos.EditarArchivo(posterImage, "jpg", "peliculas", peliculaDB.Poster);
            }

            await _context.Database.ExecuteSqlInterpolatedAsync($"delete from  GeneroPeliculas where PeliculaId = {pelicula.Id}; delete from PeliculaActors where PeliculaId = {pelicula.Id}");

            if (pelicula.PeliculaActors != null)
            {
                for (int i = 0; i < pelicula.PeliculaActors.Count; i++)
                {
                    pelicula.PeliculaActors[i].Orden = i + 1;
                }
            }

            peliculaDB.PeliculaActors  = pelicula.PeliculaActors;
            peliculaDB.GeneroPeliculas = pelicula.GeneroPeliculas;

            await _context.SaveChangesAsync();

            return(NoContent());
        }
예제 #2
0
        public async Task <ActionResult> Put(Persona persona)
        {
            Persona personaDB = await _contex.Personas.FirstOrDefaultAsync(p => p.Id == persona.Id);

            if (personaDB == null)
            {
                return(NotFound());
            }

            //aqui mappeo las dos clases:
            personaDB = _mapper.Map(persona, personaDB);

            if (!string.IsNullOrWhiteSpace(persona.Foto))
            {
                byte[] fotoImagen = Convert.FromBase64String(persona.Foto);
                personaDB.Foto = await _almacenadorArchivos.EditarArchivo(fotoImagen,
                                                                          "jpg", "personas", personaDB.Foto);
            }

            await _contex.SaveChangesAsync();

            return(NoContent());
        }