private async Task <bool> SaveInternal(ImageViewerPostViewModel item)
        {
            Stream responseStream;

            try
            {
                HttpResponseMessage response = await RequestManager.Current.GetAsync(item.ImageSrc);

                responseStream = await response.Content.ReadAsStreamAsync();
            }
            catch
            {
                return(false);
            }

            BitmapImage bi = new BitmapImage()
            {
                CreateOptions = BitmapCreateOptions.None
            };

            try
            {
                bi.SetSource(responseStream);
            }
            catch (Exception ex)
            {
                if (ex.HResult == -2146233088)
                {
                    // Image unrecognized
                    return(false);
                }
                else
                {
                    throw;
                }
            }

            WriteableBitmap wbmp = new WriteableBitmap(bi);

            using (MemoryStream ms = new MemoryStream())
            {
                try
                {
                    wbmp.SaveJpeg(ms, bi.PixelWidth, bi.PixelHeight, 0, 95);
                    ms.Seek(0, SeekOrigin.Begin);
                    new MediaLibrary().SavePicture(item.RenamedFileName + "", ms);
                }
                catch
                {
                    return(false);
                }
                finally
                {
                    bi.UriSource = null;
                    bi           = null;
                    wbmp         = null;
                }
            }

            return(true);
        }
        private async Task<bool> SaveInternal(ImageViewerPostViewModel item)
        {
            Stream responseStream;
            try
            {
                HttpResponseMessage response = await RequestManager.Current.GetAsync(item.ImageSrc);
                responseStream = await response.Content.ReadAsStreamAsync();
            }
            catch
            {
                return false;
            }

            BitmapImage bi = new BitmapImage() { CreateOptions = BitmapCreateOptions.None };
            try
            {
                bi.SetSource(responseStream);
            }
            catch (Exception ex)
            {
                if (ex.HResult == -2146233088)
                {
                    // Image unrecognized
                    return false;
                }
                else
                {
                    throw;
                }
            }

            WriteableBitmap wbmp = new WriteableBitmap(bi);
                
            using (MemoryStream ms = new MemoryStream())
            {
                try
                {
                    wbmp.SaveJpeg(ms, bi.PixelWidth, bi.PixelHeight, 0, 95);
                    ms.Seek(0, SeekOrigin.Begin);
                    new MediaLibrary().SavePicture(item.RenamedFileName + "", ms);
                }
                catch
                {
                    return false;
                }
                finally
                {
                    bi.UriSource = null;
                    bi = null;
                    wbmp = null;
                }
            }

            return true;
        }