Exemplo n.º 1
0
        public int EliminarAlbumAwsS3(AwsS3EliminarAlbumDto entidad)
        {
            int respuesta = 0;

            try
            {
                string nombreDirectorio = "Album";

                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
                        LnAlbumImagen lnAlbumImagen       = new LnAlbumImagen();
                        int           resultadoEliminarBd = lnAlbumImagen.EliminarImagen(entidad.IdAlbumImagen);
                        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);
        }
Exemplo n.º 2
0
        public async Task <ActionResult <AwsResponseEliminarDto> > EliminarImagenAlbum([FromBody] AwsS3EliminarAlbumDto entidad)
        {
            AwsResponseEliminarDto respuesta = new AwsResponseEliminarDto();

            //long nuevoId = 0;
            string url    = string.Empty;
            var    result = await Task.FromResult(_lnS3Service.EliminarAlbumAwsS3(entidad));

            if (result == 0)
            {
                respuesta.ListaError.Add(new ErrorDto {
                    Mensaje = "Error al intentar eliminar"
                });
                return(BadRequest(respuesta));
            }

            respuesta.ProcesadoOk = 1;

            return(Ok(respuesta));
        }