public async Task <ActionResult> Put(Pelicula pelicula)
        {
            var peliculaDB = await context.Peliculas.FirstOrDefaultAsync(x => x.Id == pelicula.Id);

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

            peliculaDB = mapper.Map(pelicula, peliculaDB);

            if (!string.IsNullOrWhiteSpace(pelicula.Poster))
            {
                var posterImagen = Convert.FromBase64String(pelicula.Poster);
                peliculaDB.Poster = await almacenadorDeArchivos.EditarArchivo(posterImagen,
                                                                              "jpg", "peliculas", peliculaDB.Poster);
            }

            await context.Database.ExecuteSqlInterpolatedAsync($"delete from GenerosPeliculas WHERE PeliculaId = {pelicula.Id}; delete from PeliculasActores where PeliculaId = {pelicula.Id}");

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

            peliculaDB.PeliculasActor  = pelicula.PeliculasActor;
            peliculaDB.GenerosPelicula = pelicula.GenerosPelicula;

            await context.SaveChangesAsync();

            return(NoContent());
        }
        public async Task <IActionResult> PutBanner(int id, Banner banner)
        {
            if (id != banner.Id)
            {
                return(BadRequest());
            }
            string rutaActualImagen = _context.banner.Where(x => x.Id == id).Select(x => x.Foto).ToList()[0];

            if (rutaActualImagen != banner.Foto)
            {
                var fotoImagen = Convert.FromBase64String(banner.Foto);
                banner.Foto = await almacenadorDeArchivos.EditarArchivo(fotoImagen,
                                                                        "jpg", "banners", rutaActualImagen);
            }

            _context.Entry(banner).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BannerExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Beispiel #3
0
        public async Task <ActionResult> Put(Persona persona)
        {
            var personaDB = await context.Personas.FirstOrDefaultAsync(x => x.Id == persona.Id);

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

            personaDB = _mapper.Map(persona, personaDB);

            if (!string.IsNullOrWhiteSpace(persona.Foto))
            {
                var fotoImagen = Convert.FromBase64String(persona.Foto);
                personaDB.Foto = await almacenadorDeArchivos.EditarArchivo(fotoImagen, "jpg", "personas", personaDB.Foto);
            }
            await context.SaveChangesAsync();

            return(NoContent());
        }
Beispiel #4
0
        public async Task Put(Persona persona)
        {
            var personaDB = await context.Personas.FirstOrDefaultAsync(x => x.Id == persona.Id);

            if (personaDB == null)
            {
                throw new ApplicationException($"Persona {persona.Id} no encontrada");
            }

            personaDB = mapper.Map(persona, personaDB);

            if (!string.IsNullOrWhiteSpace(persona.Foto))
            {
                var fotoImagen = Convert.FromBase64String(persona.Foto);
                personaDB.Foto = await almacenadorDeArchivos.EditarArchivo(fotoImagen,
                                                                           "jpg", "personas", personaDB.Foto);
            }

            await context.SaveChangesAsync();
        }
        public async Task <ActionResult> Put(Mercado mercado)
        {
            var mercadoDB = await context.Mercados.FirstOrDefaultAsync(x => x.Id == mercado.Id);

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

            mercadoDB = mapper.Map(mercado, mercadoDB);

            if (!string.IsNullOrWhiteSpace(mercado.Foto))
            {
                var fotoImagen = Convert.FromBase64String(mercado.Foto);
                mercadoDB.Foto = await almacenadorDeArchivos.EditarArchivo(fotoImagen,
                                                                           "jpg", "mercados", mercadoDB.Foto);
            }

            await context.SaveChangesAsync();

            return(NoContent());
        }
Beispiel #6
0
        public async Task <ActionResult> Put(Producto producto)                                     //Actualizar un producto
        {
            var productoDB = await context.Productos.FirstOrDefaultAsync(x => x.Id == producto.Id); //Consigo el producto por su Id(del producto que se paso como parámetro)

            if (productoDB == null)
            {
                return(NotFound());
            }                                                                                                         //Si el producto no existe retorno NotFound()--400

            productoDB = mapper.Map(producto, productoDB);                                                            //mapeo el producto(que viene como parametro) al destino (productoDB)

            if (!string.IsNullOrWhiteSpace(producto.Poster))                                                          //Si se agrego una imagen al producto(cambio imagen)
            {
                var posterImagen = Convert.FromBase64String(producto.Poster);                                         //convierto la imagen en un Array de Bytes
                productoDB.Poster = await almacenadorDeArchivos.EditarArchivo(posterImagen,
                                                                              "jpg", "productos", productoDB.Poster); //Guardo la nueva imagen y retorno el enlace donde se encuentra(Poster)
            }

            await context.Database.ExecuteSqlInterpolatedAsync($"delete from CategoriasProductos WHERE ProductoId = {producto.Id}; delete from ProductosMercados where ProductoId = {producto.Id}"); //Elimino de la tabla CategoriasProductos y de PAct para poder guardar

            /////////// Primero ordenamos los ACT en el producto////////////////
            if (producto.ProductosMercado != null)                        //si el producto posee mercados que lo ofrecen/venden
            {
                for (int i = 0; i < producto.ProductosMercado.Count; i++) //Para cada Act en el Prod
                {
                    producto.ProductosMercado[i].Orden = i + 1;           // Los ordeno desde 1,2,3..
                }
            }

            productoDB.ProductosMercado   = producto.ProductosMercado;   //Asignamos los Act ordenados
            productoDB.CategoriasProducto = producto.CategoriasProducto; //Asignamos las categorias al producto

            await context.SaveChangesAsync();                            //Guardamos cambios

            return(NoContent());                                         //No retorno ningun contenido
        }