Skip to content

Commit

Permalink
Code optimization, function asynchrony
Browse files Browse the repository at this point in the history
  • Loading branch information
2dust committed Oct 21, 2024
1 parent 394b657 commit a866017
Show file tree
Hide file tree
Showing 21 changed files with 510 additions and 506 deletions.
10 changes: 0 additions & 10 deletions v2rayN/ServiceLib/Common/SqliteHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,21 +64,11 @@ public async Task<int> ExecuteAsync(string sql)
return await _dbAsync.ExecuteAsync(sql);
}

public List<T> Query<T>(string sql) where T : new()
{
return _db.Query<T>(sql);
}

public async Task<List<T>> QueryAsync<T>(string sql) where T : new()
{
return await _dbAsync.QueryAsync<T>(sql);
}

public TableQuery<T> Table<T>() where T : new()
{
return _db.Table<T>();
}

public AsyncTableQuery<T> TableAsync<T>() where T : new()
{
return _dbAsync.Table<T>();
Expand Down
58 changes: 31 additions & 27 deletions v2rayN/ServiceLib/Handler/AppHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,41 +102,45 @@ public void AddProcess(IntPtr processHandle)

#region SqliteHelper

public List<SubItem> SubItems()
public async Task<List<SubItem>> SubItems()
{
return SQLiteHelper.Instance.Table<SubItem>().ToList();
return await SQLiteHelper.Instance.TableAsync<SubItem>().OrderBy(t => t.sort).ToListAsync();
}

public SubItem GetSubItem(string subid)
public async Task<SubItem> GetSubItem(string subid)
{
return SQLiteHelper.Instance.Table<SubItem>().FirstOrDefault(t => t.id == subid);
return await SQLiteHelper.Instance.TableAsync<SubItem>().FirstOrDefaultAsync(t => t.id == subid);
}

public List<ProfileItem> ProfileItems(string subid)
public async Task<List<ProfileItem>> ProfileItems(string subid)
{
if (Utils.IsNullOrEmpty(subid))
{
return SQLiteHelper.Instance.Table<ProfileItem>().ToList();
return await SQLiteHelper.Instance.TableAsync<ProfileItem>().ToListAsync();
}
else
{
return SQLiteHelper.Instance.Table<ProfileItem>().Where(t => t.subid == subid).ToList();
return await SQLiteHelper.Instance.TableAsync<ProfileItem>().Where(t => t.subid == subid).ToListAsync();
}
}

public List<string> ProfileItemIndexes(string subid)
public async Task<List<string>> ProfileItemIndexes(string subid)
{
if (Utils.IsNullOrEmpty(subid))
{
return SQLiteHelper.Instance.Table<ProfileItem>().Select(t => t.indexId).ToList();
return (await SQLiteHelper.Instance.TableAsync<ProfileItem>().ToListAsync())
.Select(t => t.indexId)
.ToList();
}
else
{
return SQLiteHelper.Instance.Table<ProfileItem>().Where(t => t.subid == subid).Select(t => t.indexId).ToList();
return (await SQLiteHelper.Instance.TableAsync<ProfileItem>().Where(t => t.subid == subid).ToListAsync())
.Select(t => t.indexId)
.ToList();
}
}

public List<ProfileItemModel> ProfileItems(string subid, string filter)
public async Task<List<ProfileItemModel>> ProfileItems(string subid, string filter)
{
var sql = @$"select a.*
,b.remarks subRemarks
Expand All @@ -156,14 +160,14 @@ from ProfileItem a
sql += string.Format(" and (a.remarks like '%{0}%' or a.address like '%{0}%') ", filter);
}

return SQLiteHelper.Instance.Query<ProfileItemModel>(sql).ToList();
return await SQLiteHelper.Instance.QueryAsync<ProfileItemModel>(sql);
}

public List<ProfileItemModel> ProfileItemsEx(string subid, string filter)
public async Task<List<ProfileItemModel>> ProfileItemsEx(string subid, string filter)
{
var lstModel = ProfileItems(_config.subIndexId, filter);
var lstModel = await ProfileItems(_config.subIndexId, filter);

ConfigHandler.SetDefaultServer(_config, lstModel);
await ConfigHandler.SetDefaultServer(_config, lstModel);

var lstServerStat = (_config.guiItem.enableStatistics ? StatisticsHandler.Instance.ServerStat : null) ?? [];
var lstProfileExs = ProfileExHandler.Instance.ProfileExs;
Expand Down Expand Up @@ -198,42 +202,42 @@ from t33 in t3b.DefaultIfEmpty()
return lstModel;
}

public ProfileItem? GetProfileItem(string indexId)
public async Task<ProfileItem?> GetProfileItem(string indexId)
{
if (Utils.IsNullOrEmpty(indexId))
{
return null;
}
return SQLiteHelper.Instance.Table<ProfileItem>().FirstOrDefault(it => it.indexId == indexId);
return await SQLiteHelper.Instance.TableAsync<ProfileItem>().FirstOrDefaultAsync(it => it.indexId == indexId);
}

public ProfileItem? GetProfileItemViaRemarks(string? remarks)
public async Task<ProfileItem?> GetProfileItemViaRemarks(string? remarks)
{
if (Utils.IsNullOrEmpty(remarks))
{
return null;
}
return SQLiteHelper.Instance.Table<ProfileItem>().FirstOrDefault(it => it.remarks == remarks);
return await SQLiteHelper.Instance.TableAsync<ProfileItem>().FirstOrDefaultAsync(it => it.remarks == remarks);
}

public List<RoutingItem> RoutingItems()
public async Task<List<RoutingItem>> RoutingItems()
{
return SQLiteHelper.Instance.Table<RoutingItem>().Where(it => it.locked == false).OrderBy(t => t.sort).ToList();
return await SQLiteHelper.Instance.TableAsync<RoutingItem>().Where(it => it.locked == false).OrderBy(t => t.sort).ToListAsync();
}

public RoutingItem GetRoutingItem(string id)
public async Task<RoutingItem> GetRoutingItem(string id)
{
return SQLiteHelper.Instance.Table<RoutingItem>().FirstOrDefault(it => it.locked == false && it.id == id);
return await SQLiteHelper.Instance.TableAsync<RoutingItem>().FirstOrDefaultAsync(it => it.locked == false && it.id == id);
}

public List<DNSItem> DNSItems()
public async Task<List<DNSItem>> DNSItems()
{
return SQLiteHelper.Instance.Table<DNSItem>().ToList();
return await SQLiteHelper.Instance.TableAsync<DNSItem>().ToListAsync();
}

public DNSItem GetDNSItem(ECoreType eCoreType)
public async Task<DNSItem> GetDNSItem(ECoreType eCoreType)
{
return SQLiteHelper.Instance.Table<DNSItem>().FirstOrDefault(it => it.coreType == eCoreType);
return await SQLiteHelper.Instance.TableAsync<DNSItem>().FirstOrDefaultAsync(it => it.coreType == eCoreType);
}

#endregion SqliteHelper
Expand Down
Loading

0 comments on commit a866017

Please sign in to comment.