mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-03-06 12:10:42 +01:00
- Samsung J series: fixed deleting of channels
- LG GlobalClone: modified channel names were not written to the file - LG GlobalClone: ask whether the conflicting xx*.TLL files should be renamed so that the TV can import the GlobalClone file. - LG GlobalClone: improved support for old file format with may have caused errors due to invalid XML characters inside the file. - Panasonic: re-enabled channel lists with gaps in the numbers - Update-Check: looking for latest version at github.com - Detecting corrupted files with 0 size or all bytes with value 0 - upgraded to latest DevExpress version
This commit is contained in:
@@ -459,15 +459,14 @@ namespace ChanSort.Loader.SamsungJ
|
||||
using (var conn = new SQLiteConnection("Data Source=" + dbPath))
|
||||
{
|
||||
conn.Open();
|
||||
using (var cmdUpdateSrv = conn.CreateCommand())
|
||||
using (var cmdDeleteSrv = conn.CreateCommand())
|
||||
using (var cmdInsertFav = conn.CreateCommand())
|
||||
using (var cmdUpdateFav = conn.CreateCommand())
|
||||
using (var cmdDeleteFav = conn.CreateCommand())
|
||||
using (var cmdUpdateSrv = PrepareUpdateCommand(conn))
|
||||
using (var cmdDeleteSrv = PrepareDeleteCommand(conn, (channelList.SignalSource & SignalSource.Digital) != 0))
|
||||
using (var cmdInsertFav = PrepareInsertFavCommand(conn))
|
||||
using (var cmdUpdateFav = PrepareUpdateFavCommand(conn))
|
||||
using (var cmdDeleteFav = PrepareDeleteFavCommand(conn))
|
||||
{
|
||||
using (var trans = conn.BeginTransaction())
|
||||
{
|
||||
this.PrepareCommands(cmdUpdateSrv, cmdDeleteSrv, cmdInsertFav, cmdUpdateFav, cmdDeleteFav);
|
||||
this.WriteChannels(cmdUpdateSrv, cmdDeleteSrv, cmdInsertFav, cmdUpdateFav, cmdDeleteFav, channelList);
|
||||
trans.Commit();
|
||||
}
|
||||
@@ -478,39 +477,67 @@ namespace ChanSort.Loader.SamsungJ
|
||||
|
||||
#endregion
|
||||
|
||||
#region PrepareCommands()
|
||||
private void PrepareCommands(SQLiteCommand cmdUpdateSrv, SQLiteCommand cmdDeleteSrv, SQLiteCommand cmdInsertFav, SQLiteCommand cmdUpdateFav, SQLiteCommand cmdDeleteFav)
|
||||
#region Prepare*Command()
|
||||
|
||||
private static SQLiteCommand PrepareUpdateCommand(SQLiteConnection conn)
|
||||
{
|
||||
cmdUpdateSrv.CommandText = "update SRV set major=@nr, lockMode=@lock, hideGuide=@hidden, hidden=@hidden, numSel=@numsel, srvName=@srvname where srvId=@id";
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@nr", DbType.Int32));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@lock", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@hidden", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@numsel", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@srvname", DbType.Binary));
|
||||
cmdUpdateSrv.Prepare();
|
||||
|
||||
cmdDeleteSrv.CommandText = "delete from SRV where srvId=@id";
|
||||
cmdDeleteSrv.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdDeleteSrv.Prepare();
|
||||
|
||||
cmdInsertFav.CommandText = "insert into SRV_FAV (srvId, fav, pos) values (@id, @fav, @pos)";
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmdInsertFav.Prepare();
|
||||
|
||||
cmdUpdateFav.CommandText = "update SRV_FAV set pos=@pos where srvId=@id and fav=@fav";
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmdUpdateFav.Prepare();
|
||||
|
||||
cmdDeleteFav.CommandText = "delete from SRV_FAV where srvId=@id and fav=@fav";
|
||||
cmdDeleteFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdDeleteFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdDeleteFav.Prepare();
|
||||
var cmd = conn.CreateCommand();
|
||||
cmd.CommandText = "update SRV set major=@nr, lockMode=@lock, hideGuide=@hidden, hidden=@hidden, numSel=@numsel, srvName=@srvname where srvId=@id";
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@nr", DbType.Int32));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@lock", DbType.Boolean));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@hidden", DbType.Boolean));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@numsel", DbType.Boolean));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@srvname", DbType.Binary));
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
private static SQLiteCommand PrepareDeleteCommand(SQLiteConnection conn, bool digital)
|
||||
{
|
||||
var cmd = conn.CreateCommand();
|
||||
cmd.CommandText = "delete from SRV where srvId=@id";
|
||||
if (digital)
|
||||
cmd.CommandText += "; delete from SRV_DVB where srvId=@id; delete from SRV_DVB_EXT where srvId=@id";
|
||||
else
|
||||
cmd.CommandText += "; delete from SRV_ANL where srvId=@id";
|
||||
cmd.CommandText += "; delete from SRV_FAV where srvId=@id";
|
||||
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
private static SQLiteCommand PrepareInsertFavCommand(SQLiteConnection conn)
|
||||
{
|
||||
var cmd = conn.CreateCommand();
|
||||
cmd.CommandText = "insert into SRV_FAV (srvId, fav, pos) values (@id, @fav, @pos)";
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
private static SQLiteCommand PrepareUpdateFavCommand(SQLiteConnection conn)
|
||||
{
|
||||
var cmd = conn.CreateCommand();
|
||||
cmd.CommandText = "update SRV_FAV set pos=@pos where srvId=@id and fav=@fav";
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
private static SQLiteCommand PrepareDeleteFavCommand(SQLiteConnection conn)
|
||||
{
|
||||
var cmd = conn.CreateCommand();
|
||||
cmd.CommandText = "delete from SRV_FAV where srvId=@id and fav=@fav";
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region WriteChannels()
|
||||
|
||||
Reference in New Issue
Block a user