Core/Misc: Misc cleanups and changing of fields
This commit is contained in:
@@ -74,9 +74,9 @@ namespace Framework.Configuration
|
||||
return (T)Convert.ChangeType(temp, type);
|
||||
}
|
||||
|
||||
public static List<string> GetKeysByString(string name)
|
||||
public static IEnumerable<string> GetKeysByString(string name)
|
||||
{
|
||||
return _configList.Where(p => p.Key.Contains(name)).Select(p => p.Key).ToList();
|
||||
return _configList.Where(p => p.Key.Contains(name)).Select(p => p.Key);
|
||||
}
|
||||
|
||||
static Dictionary<string, string> _configList = new Dictionary<string, string>();
|
||||
|
||||
@@ -202,50 +202,53 @@ namespace Framework.Database
|
||||
|
||||
public async Task<SQLQueryHolder<R>> DelayQueryHolder<R>(SQLQueryHolder<R> holder)
|
||||
{
|
||||
string query = "";
|
||||
|
||||
try
|
||||
return await Task.Run(() =>
|
||||
{
|
||||
using (var Connection = _connectionInfo.GetConnection())
|
||||
string query = "";
|
||||
|
||||
try
|
||||
{
|
||||
await Connection.OpenAsync();
|
||||
|
||||
foreach (var pair in holder.m_queries)
|
||||
using (var Connection = _connectionInfo.GetConnection())
|
||||
{
|
||||
List<object[]> rows = new List<object[]>();
|
||||
using (MySqlCommand cmd = Connection.CreateCommand())
|
||||
Connection.OpenAsync();
|
||||
|
||||
foreach (var pair in holder.m_queries)
|
||||
{
|
||||
cmd.CommandText = pair.Value.stmt.CommandText;
|
||||
foreach (var parameter in pair.Value.stmt.Parameters)
|
||||
cmd.Parameters.AddWithValue("@" + parameter.Key, parameter.Value);
|
||||
|
||||
query = cmd.CommandText;
|
||||
using (var reader = await cmd.ExecuteReaderAsync())
|
||||
List<object[]> rows = new List<object[]>();
|
||||
using (MySqlCommand cmd = Connection.CreateCommand())
|
||||
{
|
||||
if (reader.HasRows)
|
||||
{
|
||||
while (await reader.ReadAsync())
|
||||
{
|
||||
var row = new object[reader.FieldCount];
|
||||
cmd.CommandText = pair.Value.stmt.CommandText;
|
||||
foreach (var parameter in pair.Value.stmt.Parameters)
|
||||
cmd.Parameters.AddWithValue("@" + parameter.Key, parameter.Value);
|
||||
|
||||
reader.GetValues(row);
|
||||
rows.Add(row);
|
||||
query = cmd.CommandText;
|
||||
using (var reader = cmd.ExecuteReader())
|
||||
{
|
||||
if (reader.HasRows)
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var row = new object[reader.FieldCount];
|
||||
|
||||
reader.GetValues(row);
|
||||
rows.Add(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
holder.SetResult(pair.Key, new SQLResult(rows));
|
||||
}
|
||||
|
||||
holder.SetResult(pair.Key, new SQLResult(rows));
|
||||
}
|
||||
}
|
||||
|
||||
return holder;
|
||||
}
|
||||
catch (MySqlException ex)
|
||||
{
|
||||
HandleMySQLException(ex, query);
|
||||
return holder;
|
||||
}
|
||||
return holder;
|
||||
}
|
||||
catch (MySqlException ex)
|
||||
{
|
||||
HandleMySQLException(ex, query);
|
||||
return holder;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void LoadPreparedStatements()
|
||||
@@ -359,11 +362,8 @@ namespace Framework.Database
|
||||
MySqlErrorCode HandleMySQLException(MySqlException ex, string query = "")
|
||||
{
|
||||
MySqlErrorCode code = (MySqlErrorCode)ex.Number;
|
||||
if (ex.InnerException != null)
|
||||
{
|
||||
if (ex.InnerException is MySqlException)
|
||||
code = (MySqlErrorCode)((MySqlException)ex.InnerException).Number;
|
||||
}
|
||||
if (ex.InnerException is MySqlException)
|
||||
code = (MySqlErrorCode)((MySqlException)ex.InnerException).Number;
|
||||
|
||||
switch (code)
|
||||
{
|
||||
|
||||
@@ -86,8 +86,9 @@ namespace Framework.Networking
|
||||
|
||||
AddNewSockets();
|
||||
|
||||
foreach (var socket in _Sockets.ToList())
|
||||
for (var i =0; i < _Sockets.Count; ++i)
|
||||
{
|
||||
TSocketType socket = _Sockets[i];
|
||||
if (!socket.Update())
|
||||
{
|
||||
if (socket.IsOpen())
|
||||
|
||||
@@ -310,7 +310,7 @@ public class RealmManager : Singleton<RealmManager>
|
||||
return BattlenetRpcErrorCode.UtilServerUnknownRealm;
|
||||
}
|
||||
|
||||
public List<Realm> GetRealms() { return _realms.Values.ToList(); }
|
||||
public ICollection<Realm> GetRealms() { return _realms.Values; }
|
||||
List<string> GetSubRegions() { return _subRegions; }
|
||||
|
||||
ConcurrentDictionary<RealmHandle, Realm> _realms = new ConcurrentDictionary<RealmHandle, Realm>();
|
||||
|
||||
Reference in New Issue
Block a user