public List <string> GetDeletedFiles()
 {
     using (var dbContext = new FamilyAlbumDbContext(_albumDbPath))
     {
         return(dbContext.DeletedFiles.Select(f => f.RelativePath).ToList());
     }
 }
 public List <string> GetMovedFilesOriginalLocations()
 {
     using (var dbContext = new FamilyAlbumDbContext(_albumDbPath))
     {
         return(dbContext.MovedFiles.Select(f => f.OriginalRelativePath).ToList());
     }
 }
 public async Task EnsureReadiness()
 {
     using (var dbContext = new FamilyAlbumDbContext(_albumDbPath))
     {
         await dbContext.EnsureDatabaseIsUpgraded();
     }
 }
        public async Task SaveThatFileWasMoved(string from, string to)
        {
            using (var dbContext = new FamilyAlbumDbContext(_albumDbPath))
            {
                await dbContext.MovedFiles.AddAsync(new MovedFileInfo(from, to)
                {
                    MovingTimestamp = DateTime.Now
                });

                await dbContext.SaveChangesAsync();
            }
        }
        public async Task MarkFileAsDeleted(string relativePath)
        {
            using (var dbContext = new FamilyAlbumDbContext(_albumDbPath))
            {
                await dbContext.DeletedFiles.AddAsync(new DeletedFileInfo(relativePath)
                {
                    RemovalTimestamp = DateTime.Now
                });

                await dbContext.SaveChangesAsync();
            }
        }