/// <summary> /// Sube todas las canciones con su version actual a la base de la nube /// </summary> /// <param name="user_name">Nombre de usuario</param> public async Task<string> uploadDatabase(string user_name) { string debug_message = ""; RestTools rt = new RestTools(); List<DataSong> datasongs = DatabaseManager.getDesynchronizeSongsByUser(user_name); debug_message = datasongs.Count.ToString(); for (int i = 0; i < datasongs.Count; i++) { int lc_song_id = Convert.ToInt32(datasongs[i]._LocalSongID); string song_name = DatabaseManager.getSongName(user_name, lc_song_id); //se crea la cancion string song_directory = datasongs[i]._SongDirectory; //sincronizacion Song syncSong = await rt.createSong(song_directory); DatabaseManager.setSyncId2Song(lc_song_id, syncSong.song_id); //se agrega la version Version lc_version = DatabaseManager.getVersion(lc_song_id); lc_version.song_id = syncSong.song_id; Version syncVersion = await rt.syncVersion(lc_version); DatabaseManager.setSyncIdVersion(lc_version.version_id, syncVersion.version_id, syncSong.song_id); bool link = await rt.setMetadataSong(syncSong.song_id, syncVersion.version_id); //se hace la propiedad si se unio bien los dos datos if (link) { bool p_result = await rt.syncProperty(user_name, syncSong.song_id, song_name); if (!p_result) { Console.WriteLine("No se pudoo hacer la propiedad"); } } else { Console.WriteLine("No se pudo unir cancion con version"); } BlobManager bm = new BlobManager(); bm.uploadSong(syncSong.song_id, song_directory); } return debug_message; }