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