private void UpdateMediaSyncLog(MediaTable media) { var task = Task.Run(() => { UpdateMediaSyncLogDatabase(media); }); }
public void GivenAnExhibitOfAVersion(string version) { switch (version) { case "3.9": _mediaDataModel.EvidencePath = Path.GetFullPath(_settings["3.9_EvidencePath"].Value); break; case "4.1": _mediaDataModel.EvidencePath = Path.GetFullPath(_settings["4.1_EvidencePath"].Value); break; case "Logical": _mediaDataModel.EvidencePath = Path.GetFullPath(_settings["Logical"].Value); break; default: throw new Exception("The version supplied from the feature " + version + " is not expected, and no evidence file for it exist."); } PrepareDbData(); _exhibitDatabaseConnectionString = EVE.Site.DAL.Config.GetConnectionString(DataStore.Exhibit) .Replace(EVE.Site.DAL.Config.ExhibitPlaceholder, _exhibitId.ToString(CultureInfo.InvariantCulture)); _mediaTable = new MediaTable(_exhibitDatabaseConnectionString); }
private void UpdateMediaSyncLogDatabase(MediaTable media) { lock (threadLock) { media.Dirty = 0; mediaSyncLogDb.InsertOrReplace(media); } }
private bool IsAlreadySynced(MediaTable media) { var mediaList = mediaSyncLogDb.QueryFirstRow <MediaTable>(MEDIA_COLLUMN_QUERY, media.RelativePathName); if (mediaList.Count == 0) { return(false); } if (mediaList[0].IsAdded == media.IsAdded && mediaList[0].ModifiedTime == media.ModifiedTime) { return(true); } else { return(false); } }
public static void InitialiseTables() { var distributedConnectionString = EVE.Site.DAL.Config.GetConnectionString(DataStore.Distributed); _workTable = new WorkTable(distributedConnectionString); _exhibitDatabaseConnectionString = EVE.Site.DAL.Config.GetConnectionString(DataStore.Exhibit) .Replace(EVE.Site.DAL.Config.ExhibitPlaceholder, _exhibitId.ToString(CultureInfo.InvariantCulture)); _fileMetadataTable = new FileMetadataTable(_exhibitDatabaseConnectionString); _entityTable = new EntityTable(_exhibitDatabaseConnectionString); _connectionMetadataTable = new ConnectionMetadataTable(_exhibitDatabaseConnectionString); _mediaTable = new MediaTable(_exhibitDatabaseConnectionString); _exhibitDatabase = new ExhibitDatabase(_exhibitDatabaseConnectionString); var distributedDbConnctionString = EVE.Site.DAL.Config.GetConnectionString(DataStore.Distributed); _distributedDatabase = new DistributedDatabase(distributedDbConnctionString); }
public void SearchMedia() { //Search database for user query //Open database connection var conn = GetDatabaseConnection(); conn.Open(); var command = conn.CreateCommand(); //Get search string string field = SearchMediaField.TitleOfSelectedItem; string search = SearchMediaSearch.StringValue; command.CommandText = string.Format("SELECT * FROM media WHERE {0} LIKE '{1}';", field, search); //Get IDs of matching results SQLiteDataReader reader = command.ExecuteReader(); List <string> recordIDs = new List <string>(); while (reader.Read()) { string ID = reader.GetString(0); recordIDs.Add(ID); } conn.Close(); //Get media records and update table var DataSource = new MediaTableDataSource(); foreach (string ID in recordIDs) { var record = new MediaModel(); record.Load(conn, ID); DataSource.MediaRecords.Add(record); } MediaTable.DataSource = DataSource; MediaTable.Delegate = new MediaTableDelegate(this, DataSource); MediaTable.ReloadData(); }
private async Task RemoveMediaFilesInLocal(Dictionary <long, StorageFolder> deckMediaFolders, MediaTable media, long deckId, string name) { if (deckMediaFolders.ContainsKey(deckId)) { var file = await deckMediaFolders[deckId].TryGetItemAsync(name) as StorageFile; if (file != null) { await file.DeleteAsync(); } } }
private async Task DownloadMediaFilesFromSever(Dictionary <long, StorageFolder> deckMediaFolders, string remoteMediaFolderPath, MediaTable media, long deckId, string name) { var oldFile = await deckMediaFolders[deckId].TryGetItemAsync(name) as StorageFile; if (oldFile != null) { await oldFile.DeleteAsync(); } var newFile = await deckMediaFolders[deckId].CreateFileAsync(name, CreationCollisionOption.ReplaceExisting); var remoteFilePath = remoteMediaFolderPath + media.RelativePathName; await fullSync.SyncInstance.DownloadItemWithPathAsync(remoteFilePath, newFile, true); //Not found items should not stop syncing }
public void ReloadMediaTable() { MediaTable.ReloadData(); }
void ReleaseDesignerOutlets() { if (AddMediaCompletion != null) { AddMediaCompletion.Dispose(); AddMediaCompletion = null; } if (AddMediaCreator != null) { AddMediaCreator.Dispose(); AddMediaCreator = null; } if (AddMediaDate != null) { AddMediaDate.Dispose(); AddMediaDate = null; } if (AddMediaLanguage != null) { AddMediaLanguage.Dispose(); AddMediaLanguage = null; } if (AddMediaMedia != null) { AddMediaMedia.Dispose(); AddMediaMedia = null; } if (AddMediaRating != null) { AddMediaRating.Dispose(); AddMediaRating = null; } if (AddMediaTitle != null) { AddMediaTitle.Dispose(); AddMediaTitle = null; } if (CreatorColumn != null) { CreatorColumn.Dispose(); CreatorColumn = null; } if (DateColumn != null) { DateColumn.Dispose(); DateColumn = null; } if (StatusColumn != null) { StatusColumn.Dispose(); StatusColumn = null; } if (DeleteColumn != null) { DeleteColumn.Dispose(); DeleteColumn = null; } if (ForceSyncOption != null) { ForceSyncOption.Dispose(); ForceSyncOption = null; } if (GoodreadsAuthURL != null) { GoodreadsAuthURL.Dispose(); GoodreadsAuthURL = null; } if (GoodreadsLoginName != null) { GoodreadsLoginName.Dispose(); GoodreadsLoginName = null; } if (GoodreadsSyncType != null) { GoodreadsSyncType.Dispose(); GoodreadsSyncType = null; } if (GoodreadsVerify != null) { GoodreadsVerify.Dispose(); GoodreadsVerify = null; } if (HardReset != null) { HardReset.Dispose(); HardReset = null; } if (LanguageColumn != null) { LanguageColumn.Dispose(); LanguageColumn = null; } if (MediaColumn != null) { MediaColumn.Dispose(); MediaColumn = null; } if (MediaTable != null) { MediaTable.Dispose(); MediaTable = null; } if (RatingColumn != null) { RatingColumn.Dispose(); RatingColumn = null; } if (SearchMediaField != null) { SearchMediaField.Dispose(); SearchMediaField = null; } if (SearchMediaSearch != null) { SearchMediaSearch.Dispose(); SearchMediaSearch = null; } if (TitleColumn != null) { TitleColumn.Dispose(); TitleColumn = null; } if (UnlockReset != null) { UnlockReset.Dispose(); UnlockReset = null; } }
private async Task DownloadMediaFilesFromSever(Dictionary <long, StorageFolder> deckMediaFolders, string remoteMediaFolderPath, MediaTable media, long deckId, string name) { try { var oldFile = await deckMediaFolders[deckId].TryGetItemAsync(name) as StorageFile; if (oldFile != null) { await oldFile.DeleteAsync(); } var newFile = await deckMediaFolders[deckId].CreateFileAsync(name, CreationCollisionOption.ReplaceExisting); var remoteFilePath = remoteMediaFolderPath + media.RelativePathName; await syncInstance.DownloadItemWithPathAsync(remoteFilePath, newFile); } catch //Syncing shouldn't stop if some files are not available { } }