mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-05-07 06:06:13 +02:00
- replaced System.Data.SQLite with Microsoft.Data.Sqlite because MS removed the required VC2010 Redist x86 from their website
- updated bunch of other Nuget packages
This commit is contained in:
@@ -14,6 +14,8 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -66,12 +68,37 @@
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\DLL\System.Data.SQLite.dll</HintPath>
|
||||
<Reference Include="Microsoft.Data.Sqlite, Version=5.0.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Data.Sqlite.Core.5.0.5\lib\netstandard2.0\Microsoft.Data.Sqlite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SQLitePCLRaw.batteries_v2, Version=2.0.4.976, Culture=neutral, PublicKeyToken=8226ea5df37bcae9, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SQLitePCLRaw.bundle_e_sqlite3.2.0.4\lib\net461\SQLitePCLRaw.batteries_v2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SQLitePCLRaw.core, Version=2.0.4.976, Culture=neutral, PublicKeyToken=1488e028ca7ab535, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SQLitePCLRaw.core.2.0.4\lib\netstandard2.0\SQLitePCLRaw.core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SQLitePCLRaw.nativelibrary, Version=2.0.4.976, Culture=neutral, PublicKeyToken=502ed628492ab262, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SQLitePCLRaw.bundle_e_sqlite3.2.0.4\lib\net461\SQLitePCLRaw.nativelibrary.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SQLitePCLRaw.provider.dynamic_cdecl, Version=2.0.4.976, Culture=neutral, PublicKeyToken=b68184102cba0b3b, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.0.4\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -95,12 +122,21 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="ChanSort.Loader.Samsung.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets'))" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SQLite;
|
||||
using System.Data;
|
||||
using ChanSort.Api;
|
||||
|
||||
namespace ChanSort.Loader.Samsung.Zip
|
||||
@@ -7,7 +7,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
internal class DbChannel : ChannelInfo
|
||||
{
|
||||
#region ctor()
|
||||
internal DbChannel(SQLiteDataReader r, IDictionary<string, int> field, DbSerializer loader, Dictionary<long, string> providers, Satellite sat, Transponder tp)
|
||||
internal DbChannel(IDataReader r, IDictionary<string, int> field, DbSerializer loader, Dictionary<long, string> providers, Satellite sat, Transponder tp)
|
||||
{
|
||||
var chType = r.GetInt32(field["chType"]);
|
||||
this.SignalSource = DbSerializer.ChTypeToSignalSource(chType);
|
||||
@@ -49,14 +49,14 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadAnalogData()
|
||||
private void ReadAnalogData(SQLiteDataReader r, IDictionary<string, int> field)
|
||||
private void ReadAnalogData(IDataReader r, IDictionary<string, int> field)
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ReadDvbData()
|
||||
protected void ReadDvbData(SQLiteDataReader r, IDictionary<string, int> field, DbSerializer loader, Dictionary<long, string> providers)
|
||||
protected void ReadDvbData(IDataReader r, IDictionary<string, int> field, DbSerializer loader, Dictionary<long, string> providers)
|
||||
{
|
||||
this.ShortName = loader.ReadUtf16(r, field["srvName"]);
|
||||
this.RecordOrder = r.GetInt32(field["major"]);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SQLite;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using ChanSort.Api;
|
||||
|
||||
namespace ChanSort.Loader.Samsung.Zip
|
||||
@@ -48,7 +48,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var conn = new SQLiteConnection("Data Source=" + this.TempPath + "\\sat"))
|
||||
using (var conn = new SqliteConnection("Data Source=" + this.TempPath + "\\sat"))
|
||||
{
|
||||
conn.Open();
|
||||
this.ReadSatDatabase(conn);
|
||||
@@ -70,7 +70,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
continue;
|
||||
try
|
||||
{
|
||||
using (var conn = new SQLiteConnection("Data Source=" + filePath))
|
||||
using (var conn = new SqliteConnection("Data Source=" + filePath))
|
||||
{
|
||||
FileType type;
|
||||
conn.Open();
|
||||
@@ -100,7 +100,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
finally
|
||||
{
|
||||
// force closing the file and releasing the locks
|
||||
SQLiteConnection.ClearAllPools();
|
||||
//SqliteConnection.ClearAllPools();
|
||||
GC.Collect();
|
||||
GC.WaitForPendingFinalizers();
|
||||
}
|
||||
@@ -108,7 +108,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region RepairCorruptedDatabaseImage()
|
||||
private void RepairCorruptedDatabaseImage(SQLiteCommand cmd)
|
||||
private void RepairCorruptedDatabaseImage(IDbCommand cmd)
|
||||
{
|
||||
cmd.CommandText = "REINDEX";
|
||||
cmd.ExecuteNonQuery();
|
||||
@@ -116,7 +116,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region DetectFileType()
|
||||
private FileType DetectFileType(SQLiteCommand cmd)
|
||||
private FileType DetectFileType(IDbCommand cmd)
|
||||
{
|
||||
this.tableNames.Clear();
|
||||
cmd.CommandText = "select name from sqlite_master where type='table'";
|
||||
@@ -141,7 +141,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadSatDatabase()
|
||||
private void ReadSatDatabase(SQLiteConnection conn)
|
||||
private void ReadSatDatabase(SqliteConnection conn)
|
||||
{
|
||||
using (var cmd = conn.CreateCommand())
|
||||
{
|
||||
@@ -153,7 +153,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadSatellites()
|
||||
private void ReadSatellites(SQLiteCommand cmd)
|
||||
private void ReadSatellites(IDbCommand cmd)
|
||||
{
|
||||
cmd.CommandText = "select distinct satId, cast(satName as blob), satPos, satDir from SAT";
|
||||
using (var r = cmd.ExecuteReader())
|
||||
@@ -174,7 +174,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadTransponders()
|
||||
private void ReadTransponders(SQLiteCommand cmd)
|
||||
private void ReadTransponders(IDbCommand cmd)
|
||||
{
|
||||
cmd.CommandText = "select satId, tpFreq, tpPol, tpSr, tpId from SAT_TP";
|
||||
using (var r = cmd.ExecuteReader())
|
||||
@@ -198,7 +198,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
|
||||
|
||||
#region ReadChannelDatabase()
|
||||
private void ReadChannelDatabase(SQLiteConnection conn, string dbPath, FileType fileType)
|
||||
private void ReadChannelDatabase(SqliteConnection conn, string dbPath, FileType fileType)
|
||||
{
|
||||
this.channelById.Clear();
|
||||
using (var cmd = conn.CreateCommand())
|
||||
@@ -212,7 +212,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadProviders()
|
||||
private Dictionary<long, string> ReadProviders(SQLiteCommand cmd)
|
||||
private Dictionary<long, string> ReadProviders(IDbCommand cmd)
|
||||
{
|
||||
var dict = new Dictionary<long, string>();
|
||||
try
|
||||
@@ -236,7 +236,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadChannels()
|
||||
private ChannelList ReadChannels(SQLiteCommand cmd, string dbPath, Dictionary<long, string> providers, FileType fileType)
|
||||
private ChannelList ReadChannels(IDbCommand cmd, string dbPath, Dictionary<long, string> providers, FileType fileType)
|
||||
{
|
||||
var signalSource = DetectSignalSource(cmd, fileType);
|
||||
|
||||
@@ -299,7 +299,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region DetectSignalSource()
|
||||
private static SignalSource DetectSignalSource(SQLiteCommand cmd, FileType fileType)
|
||||
private static SignalSource DetectSignalSource(IDbCommand cmd, FileType fileType)
|
||||
{
|
||||
if (fileType == FileType.ChannelDbIp)
|
||||
return SignalSource.IP|SignalSource.Digital;
|
||||
@@ -368,7 +368,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadFavorites()
|
||||
private void ReadFavorites(SQLiteCommand cmd)
|
||||
private void ReadFavorites(IDbCommand cmd)
|
||||
{
|
||||
cmd.CommandText = "select srvId, fav, pos from SRV_FAV";
|
||||
var r = cmd.ExecuteReader();
|
||||
@@ -390,12 +390,23 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region ReadUtf16()
|
||||
internal string ReadUtf16(SQLiteDataReader r, int fieldIndex)
|
||||
internal string ReadUtf16(IDataReader r, int fieldIndex)
|
||||
{
|
||||
if (r.IsDBNull(fieldIndex))
|
||||
return null;
|
||||
byte[] nameBytes = new byte[200];
|
||||
int nameLen = (int)r.GetBytes(fieldIndex, 0, nameBytes, 0, nameBytes.Length);
|
||||
|
||||
// Microsoft.Data.SqlDataReader (and the underlying native DLLs) are bugged and throw a memory access violation when using r.GetBytes(...)
|
||||
// nameLen = (int)r.GetBytes(fieldIndex, 0, nameBytes, 0, nameBytes.Length);
|
||||
|
||||
int nameLen = 0;
|
||||
var obj = r.GetValue(fieldIndex);
|
||||
if (obj is byte[] buffer)
|
||||
{
|
||||
nameBytes = buffer;
|
||||
nameLen = buffer.Length;
|
||||
}
|
||||
|
||||
this.encoding ??= AutoDetectUtf16Encoding(nameBytes, nameLen);
|
||||
if (this.encoding == null)
|
||||
return string.Empty;
|
||||
@@ -486,7 +497,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
}
|
||||
|
||||
// force closing the file and releasing the locks
|
||||
SQLiteConnection.ClearAllPools();
|
||||
//SqliteConnection.ClearAllPools();
|
||||
GC.Collect();
|
||||
GC.WaitForPendingFinalizers();
|
||||
|
||||
@@ -497,44 +508,46 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#region SaveChannelList()
|
||||
private void SaveChannelList(ChannelList channelList, string dbPath)
|
||||
{
|
||||
using var conn = new SQLiteConnection("Data Source=" + dbPath);
|
||||
using var conn = new SqliteConnection("Data Source=" + dbPath);
|
||||
conn.Open();
|
||||
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())
|
||||
{
|
||||
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);
|
||||
Editor.SequentializeFavPos(channelList, 5);
|
||||
this.WriteChannels(cmdUpdateSrv, cmdDeleteSrv, cmdInsertFav, cmdUpdateFav, cmdDeleteFav, channelList);
|
||||
trans.Commit();
|
||||
}
|
||||
this.RepairCorruptedDatabaseImage(cmdUpdateSrv);
|
||||
|
||||
using var cmd = conn.CreateCommand();
|
||||
this.RepairCorruptedDatabaseImage(cmd);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Prepare*Command()
|
||||
|
||||
private SQLiteCommand PrepareUpdateCommand(SQLiteConnection conn)
|
||||
private SqliteCommand PrepareUpdateCommand(SqliteConnection conn)
|
||||
{
|
||||
var canUpdateNames = this.Features.ChannelNameEdit != ChannelNameEditMode.None;
|
||||
var cmd = conn.CreateCommand();
|
||||
var updateSrvName = canUpdateNames ? ", srvName=cast(@srvname as varchar)" : "";
|
||||
cmd.CommandText = "update SRV set major=@nr, lockMode=@lock, hideGuide=@hidden, hidden=@hidden, numSel=@numsel" + updateSrvName + " 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("@id", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@nr", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@lock", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@hidden", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@numsel", SqliteType.Integer);
|
||||
if (canUpdateNames)
|
||||
cmd.Parameters.Add(new SQLiteParameter("@srvname", DbType.Binary));
|
||||
cmd.Parameters.Add("@srvname", SqliteType.Blob);
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
private SQLiteCommand PrepareDeleteCommand(SQLiteConnection conn, bool digital)
|
||||
private SqliteCommand PrepareDeleteCommand(SqliteConnection conn, bool digital)
|
||||
{
|
||||
var cmd = conn.CreateCommand();
|
||||
var sql = new StringBuilder();
|
||||
@@ -545,38 +558,38 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
sql.AppendLine($"; delete from {r.GetString(0)} where srvId=@id");
|
||||
}
|
||||
cmd.CommandText = sql.ToString();
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add("@id", SqliteType.Integer);
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
private SQLiteCommand PrepareInsertFavCommand(SQLiteConnection conn)
|
||||
private 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.Parameters.Add("@id", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@fav", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@pos", SqliteType.Integer);
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
|
||||
private SQLiteCommand PrepareUpdateFavCommand(SQLiteConnection conn)
|
||||
private 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.Parameters.Add("@id", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@fav", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@pos", SqliteType.Integer);
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
private SQLiteCommand PrepareDeleteFavCommand(SQLiteConnection conn)
|
||||
private 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.Parameters.Add("@id", SqliteType.Integer);
|
||||
cmd.Parameters.Add("@fav", SqliteType.Integer);
|
||||
cmd.Prepare();
|
||||
return cmd;
|
||||
}
|
||||
@@ -584,7 +597,7 @@ namespace ChanSort.Loader.Samsung.Zip
|
||||
#endregion
|
||||
|
||||
#region WriteChannels()
|
||||
private void WriteChannels(SQLiteCommand cmdUpdateSrv, SQLiteCommand cmdDeleteSrv, SQLiteCommand cmdInsertFav, SQLiteCommand cmdUpdateFav, SQLiteCommand cmdDeleteFav,
|
||||
private void WriteChannels(SqliteCommand cmdUpdateSrv, SqliteCommand cmdDeleteSrv, SqliteCommand cmdInsertFav, SqliteCommand cmdUpdateFav, SqliteCommand cmdDeleteFav,
|
||||
ChannelList channelList, bool analog = false)
|
||||
{
|
||||
bool canUpdateNames = this.Features.ChannelNameEdit != ChannelNameEditMode.None;
|
||||
|
||||
11
source/ChanSort.Loader.Samsung/app.config
Normal file
11
source/ChanSort.Loader.Samsung/app.config
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
13
source/ChanSort.Loader.Samsung/packages.config
Normal file
13
source/ChanSort.Loader.Samsung/packages.config
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Data.Sqlite" version="5.0.5" targetFramework="net48" />
|
||||
<package id="Microsoft.Data.Sqlite.Core" version="5.0.5" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.bundle_e_sqlite3" version="2.0.4" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.core" version="2.0.4" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.lib.e_sqlite3" version="2.0.4" targetFramework="net48" />
|
||||
<package id="SQLitePCLRaw.provider.dynamic_cdecl" version="2.0.4" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.4" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net48" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user