public async Task <ActionResult <ImagenResponseEliminarDto> > Eliminar(int id) { ImagenResponseEliminarDto respuesta = new ImagenResponseEliminarDto(); var entidad = await Task.FromResult(_lnImagen.ObtenerPorId(id)); if (entidad == null) { respuesta.ListaError.Add(new ErrorDto { Mensaje = "Objeto no encontrado con el ID proporcionado" }); return(NotFound(respuesta)); } int result = await Task.FromResult(_lnImagen.Eliminar(id)); if (result == 0) { respuesta.ListaError.Add(new ErrorDto { Mensaje = "Error al intentar eliminar el registro" }); return(BadRequest(respuesta)); } respuesta.ProcesadoOk = true; return(Ok(respuesta)); }
public int EliminarImagenGaleriaAwsS3(AwsS3EliminarGaleriaDto entidad) { int respuesta = 0; try { string nombreDirectorio = "Imagen"; string url = string.Format("{0}{1}/", _urlAmazon, nombreDirectorio); string nombreArchivo = entidad.UrlImagen.Replace(url, string.Empty); using (var client = new AmazonS3Client(_llaveAmazon, _claveAmazon, RegionEndpoint.USEast2)) { var deleteObjectRequest = new DeleteObjectRequest { Key = nombreArchivo, BucketName = string.Format("red-social/{0}", nombreDirectorio) }; Task eliminar = Task.Run(() => { client.DeleteObjectAsync(deleteObjectRequest); }); eliminar.Wait(); if (eliminar.IsCompleted) { //eliminar de la base de datos LnImagen lnImagen = new LnImagen(); int resultadoEliminarBd = lnImagen.Eliminar(entidad.IdImagen); if (resultadoEliminarBd > 0) { respuesta = 1; } } } } catch (AmazonS3Exception exSe) { Log(Level.Error, String.Format("AmazonS3Exception: {0}", exSe)); } catch (Exception ex) { Log(Level.Error, String.Format("Exception: {0}", ex)); } return(respuesta); }