StreetFoo.Client.ReportImageCacheManager.GetCacheFolderAsync C# (CSharp) Method

GetCacheFolderAsync() private method

private GetCacheFolderAsync ( ) : Task
return Task
        internal async Task<StorageFolder> GetCacheFolderAsync()
        {
            // find...
            StorageFolder cacheFolder = null;
            try
            {
                cacheFolder = await ApplicationData.Current.LocalFolder.GetFolderAsync(LocalCacheFolderName);
            }
            catch (FileNotFoundException ex)
            {
                SinkWarning(ex);
            }

            // did we get one?
            if(cacheFolder == null)
                cacheFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync(LocalCacheFolderName);

            // return...
            return cacheFolder;
        }

Usage Example

        internal static async Task <ReportItem> CreateReportItemAsync(string title, string description,
                                                                      IMappablePoint point, IStorageFile image)
        {
            var item = new ReportItem()
            {
                Title       = title,
                Description = description,
                NativeId    = Guid.NewGuid().ToString(),
                Status      = ReportItemStatus.New
            };

            item.SetLocation(point);

            // save...
            var conn = StreetFooRuntime.GetUserDatabase();
            await conn.InsertAsync(item);

            // stage the image...
            if (image != null)
            {
                // new path...
                var manager = new ReportImageCacheManager();
                var folder  = await manager.GetCacheFolderAsync();

                // create...
                await image.CopyAsync(folder, item.NativeId + ".jpg");
            }

            // return...
            return(item);
        }
All Usage Examples Of StreetFoo.Client.ReportImageCacheManager::GetCacheFolderAsync