private void SetParametersForCreateMediaFileCommand(SqliteCommand command, CreateMediaFileDto createDto, string guid) { command.Parameters["@Url"].Value = createDto.SourceURL; command.Parameters["@FileType"].Value = createDto.FileType.Ordinal; command.Parameters["@Name"].Value = createDto.Name; command.Parameters["@UniqueId"].Value = guid; }
public void TestCreateMultipleFilesWithDifferentUrls() { var fileToCreate1 = new CreateMediaFileDto("C:/test/test.jpg", MediaFileType.IMAGE_TYPE, ""); var fileToCreate2 = new CreateMediaFileDto("C:/test/test2.mp4", MediaFileType.VIDEO_TYPE, ""); var file1Id = repository.CreateMediaFile(fileToCreate1); var file2Id = repository.CreateMediaFile(fileToCreate2); Assert.AreNotEqual(file1Id, file2Id); }
public long CreateMediaFile(CreateMediaFileDto createDto) { using (var db = DataAccessUtil.CreateSqlConnection()) { db.Open(); var command = GetCreateMediaFileCommand(db, createDto, UniqueIdUtil.GenerateUniqueId(), false); command.ExecuteNonQuery(); return(QueryUtil.GetLastInsertedPrimaryKey(db)); } }
private SqliteCommand GetCreateMediaFileCommand(SqliteConnection db, CreateMediaFileDto createDto, string guid, bool ignoreDuplicates) { var ignoreClause = ignoreDuplicates ? "OR IGNORE" : ""; var command = new SqliteCommand(); command.Connection = db; command.CommandText = $"INSERT {ignoreClause} INTO media_file VALUES(NULL, @Url, @Name, @FileType, CURRENT_TIMESTAMP, @UniqueId)"; command.Parameters.AddWithValue("@Url", createDto.SourceURL); command.Parameters.AddWithValue("@FileType", createDto.FileType.Ordinal); command.Parameters.AddWithValue("@Name", createDto.Name); command.Parameters.AddWithValue("@UniqueId", guid); return(command); }
private void TestCreateMediaFile(bool isImage) { var type = isImage ? MediaFileType.IMAGE_TYPE : MediaFileType.VIDEO_TYPE; var fileToCreate = new CreateMediaFileDto("C:/test/test.jpg", type, "Test"); var fileId = repository.CreateMediaFile(fileToCreate); var fileRetrieved = repository.GetMediaFile(fileId); Assert.IsTrue(fileRetrieved.MediaId > -1); Assert.AreEqual(fileToCreate.SourceURL, fileRetrieved.SourceURL); Assert.AreEqual(fileToCreate.FileType, fileRetrieved.FileType); Assert.AreEqual(fileToCreate.Name, fileRetrieved.Name); Assert.IsNotNull(fileRetrieved.UniqueId); var expectedFiles = new List <MediaFile>(); expectedFiles.Add(fileRetrieved); var pagination = Pagination.FirstPageWithDefaultCount(new MediaFileDateSortCriteria(true)); CollectionAssert.AreEquivalent(expectedFiles, GetSavedMediaFiles(pagination)); }