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);
        }
Пример #2
0
 protected override List <string> GetChildTableAdditionalValues(CreateVideoSequenceDto dto)
 {
     return(new List <string>()
     {
         "CURRENT_TIMESTAMP", "false", "false", $"'{dto.UniqueId}'"
     });
 }
Пример #3
0
        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);
                }
            }
        }
Пример #7
0
        protected override long GetParentColumnValue(CreateVideoSequenceDto dto)
        {
            var castDto = dto as CreateSeriesSequenceDto;

            return(castDto.SeriesId);
        }
Пример #8
0
        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));
        }
Пример #10
0
 protected virtual List <string> GetChildTableAdditionalValues(CreateVideoSequenceDto dto)
 {
     return(new List <string>());
 }
Пример #11
0
 protected abstract long GetParentColumnValue(CreateVideoSequenceDto dto);
Пример #12
0
        protected override long GetParentColumnValue(CreateVideoSequenceDto dto)
        {
            var castDto = dto as CreatePlaylistDto;

            return(castDto.LibraryId);
        }