public int ImportNew() { PermissionContext.VerifyPermission(PermissionToken.MikuDbImport); MikuDbAlbumContract[] existing = HandleQuery(session => session.Query <MikuDbAlbum>().Select(a => new MikuDbAlbumContract(a)).ToArray()); var importer = new AlbumImporter(existing); var imported = importer.ImportNew(); return(HandleTransaction(session => { AuditLog("importing new albums from MikuDB", session); //var all = session.Query<MikuDbAlbum>(); //foreach (var album in all) // session.Delete(album); var newAlbums = new List <MikuDbAlbum>(); foreach (var contract in imported) { var newAlbum = new MikuDbAlbum(contract.AlbumContract); session.Save(newAlbum); newAlbums.Add(newAlbum); } return newAlbums.Count; })); }