protected long CreateVideoSequence(CreateVideoSequenceDto dto, SqliteConnection db, SqliteTransaction txn) { var sequenceId = CreateVideoSequence(db, txn, dto); var columnNames = new List <string>() { "sequence_id", GetParentColumnName() }; columnNames.AddRange(GetChildTableAdditionalColumns()); var columnValues = new List <string>() { sequenceId.ToString(), "@ParentColumnValue" }; columnValues.AddRange(GetChildTableAdditionalValues(dto)); var command = new SqliteCommand($"INSERT INTO {GetChildTableName()}({string.Join(",", columnNames)}) VALUES ({string.Join(",", columnValues)})", db, txn); command.Parameters.AddWithValue("@ParentColumnValue", QueryUtil.GetNullableIdForStorage(GetParentColumnValue(dto))); command.ExecuteNonQuery(); return(sequenceId); }
protected override List <string> GetChildTableAdditionalValues(CreateVideoSequenceDto dto) { return(new List <string>() { "CURRENT_TIMESTAMP", "false", "false", $"'{dto.UniqueId}'" }); }
protected override List <string> GetChildTableAdditionalValues(CreateVideoSequenceDto dto) { var ss = dto as CreateSeriesSequenceDto; return(new List <string>() { ss.IsSeason.ToString(), ss.SeasonNumber.ToString(), "false", "false", $"'{dto.UniqueId}'" }); }
private long CreateVideoSequence(SqliteConnection db, SqliteTransaction txn, CreateVideoSequenceDto dto) { var command = GetCreateVideoSequenceCommand(db, dto); command.Transaction = txn; command.ExecuteNonQuery(); return(QueryUtil.GetLastInsertedPrimaryKey(db, txn)); }
protected SqliteCommand GetCreateVideoSequenceCommand(SqliteConnection db, CreateVideoSequenceDto dto) { var command = new SqliteCommand(); command.Connection = db; command.CommandText = "INSERT INTO video_sequence(title, description, cover_file) VALUES(@Name, @Description, @CoverId)"; command.Parameters.AddWithValue("@Name", dto.Title); command.Parameters.AddWithValue("@Description", dto.Description); command.Parameters.AddWithValue("@CoverId", QueryUtil.GetNullableIdForStorage(dto.CoverFile)); return(command); }
public long CreateVideoSequence(CreateVideoSequenceDto dto) { using (var db = DataAccessUtil.CreateSqlConnection()) { db.Open(); using (var txn = db.BeginTransaction()) { var sequenceId = CreateVideoSequence(dto, db, txn); txn.Commit(); return(sequenceId); } } }
protected override long GetParentColumnValue(CreateVideoSequenceDto dto) { var castDto = dto as CreateSeriesSequenceDto; return(castDto.SeriesId); }
private PlaylistDto CreateAndRetrievePlaylist(CreateVideoSequenceDto dto) { var id = repository.CreateVideoSequence(dto); return(repository.GetPlaylist(id)); }
private SeriesSequence CreateAndRetrieveVideoSequence(CreateVideoSequenceDto dto) { var id = repository.CreateVideoSequence(dto); return(repository.GetSeriesSequence(id)); }
protected virtual List <string> GetChildTableAdditionalValues(CreateVideoSequenceDto dto) { return(new List <string>()); }
protected abstract long GetParentColumnValue(CreateVideoSequenceDto dto);
protected override long GetParentColumnValue(CreateVideoSequenceDto dto) { var castDto = dto as CreatePlaylistDto; return(castDto.LibraryId); }