private async Task <bool> CriarMensagemAsync(int id, string url) { bool resultado = false; try { var info = new InfoImagem() { Id = id, Url = url }; var conteudojson = JsonConvert.SerializeObject(info); CloudStorageAccount conta = CloudStorageAccount.Parse(conexao); CloudQueueClient clientequeue = conta.CreateCloudQueueClient(); clientequeue.DefaultRequestOptions.RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(3), 3); CloudQueue fila = clientequeue.GetQueueReference(Constantes.NomeFila); await fila.CreateIfNotExistsAsync(); CloudQueueMessage mensagem = new CloudQueueMessage(conteudojson); await fila.AddMessageAsync(mensagem); resultado = true; } catch (Exception ex) { Trace.WriteLine(ex.Message); } return(resultado); }
public async Task <bool> GerarThumbnail(InfoImagem info) { bool resultado = false; string enderecothumb = null; FileData file = new FileData() { Name = Path.GetFileNameWithoutExtension(info.Url) + "_Thumb.png", ContentType = "image/png" }; try { HttpClient cliente = new HttpClient(); MemoryStream imgStream = new MemoryStream(); using (var foto = await cliente.GetStreamAsync(info.Url).ConfigureAwait(false)) { await foto.CopyToAsync(imgStream); using (MemoryStream output = new MemoryStream()) { ImageHelper.MakeThumbnail(imgStream, output); if (output == null) { throw new NullReferenceException("Não foi possível processar o arquivo!"); } file.Stream = output; enderecothumb = await EnviarBlobAsync(info.Id, file); } } if (enderecothumb != null) { Contato modelo = await repository.GetAsync(info.Id); modelo.UrlThumb = enderecothumb; modelo = await repository.SaveAsync(modelo); if (modelo != null) { resultado = true; } } } catch (Exception ex) { Trace.TraceError(ex.Message); } return(resultado); }