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