refactor: Tidying

This commit is contained in:
Chris Cameron
2019-06-10 13:47:21 -04:00
parent 43d7ea944e
commit 844f8b7b46

View File

@@ -181,13 +181,13 @@ namespace ICD.Common.Utils.Globalization
if ((calendar = m_Calendar) == null) if ((calendar = m_Calendar) == null)
{ {
calendar = calendar =
(m_Calendar = m_Calendar =
((m_CalendarType == typeof(GregorianCalendar) && m_GregorianCalendarType.HasValue) m_CalendarType == typeof(GregorianCalendar) && m_GregorianCalendarType.HasValue
? (ReflectionUtils.CreateInstance<Calendar>(m_CalendarType, new object[] ? ReflectionUtils.CreateInstance<Calendar>(m_CalendarType, new object[]
{ {
m_GregorianCalendarType m_GregorianCalendarType
})) })
: ReflectionUtils.CreateInstance<Calendar>(m_CalendarType))); : ReflectionUtils.CreateInstance<Calendar>(m_CalendarType);
} }
return calendar; return calendar;
} }
@@ -302,7 +302,7 @@ namespace ICD.Common.Utils.Globalization
{ {
CultureInfo cultureInfo; CultureInfo cultureInfo;
if ((cultureInfo = m_Parent) == null) if ((cultureInfo = m_Parent) == null)
cultureInfo = (m_Parent = new IcdCultureInfo(m_ParentId, 0)); cultureInfo = m_Parent = new IcdCultureInfo(m_ParentId, 0);
return cultureInfo; return cultureInfo;
} }
} }
@@ -438,12 +438,13 @@ namespace ICD.Common.Utils.Globalization
int @int = sQLiteDataReader.GetInt32(0); int @int = sQLiteDataReader.GetInt32(0);
bool boolean = sQLiteDataReader.GetBoolean(3); bool boolean = sQLiteDataReader.GetBoolean(3);
string @string = sQLiteDataReader.GetString(1); string @string = sQLiteDataReader.GetString(1);
s_DictAvailableCulturesByName[@string] = (boolean ? CultureTypes.NeutralCultures : CultureTypes.SpecificCultures); s_DictAvailableCulturesByName[@string] = boolean ? CultureTypes.NeutralCultures : CultureTypes.SpecificCultures;
int int2 = sQLiteDataReader.GetInt32(2); int int2 = sQLiteDataReader.GetInt32(2);
s_DictAvailableCulturesByLcid[int2] = (boolean ? CultureTypes.NeutralCultures : CultureTypes.SpecificCultures); s_DictAvailableCulturesByLcid[int2] = boolean ? CultureTypes.NeutralCultures : CultureTypes.SpecificCultures;
s_AvailableCultureNames[@int] = @string; s_AvailableCultureNames[@int] = @string;
} }
} }
sQLiteCommand2 = new IcdSqliteCommand("select id, specificculture from specificcultureinfo", sQLiteConnection); sQLiteCommand2 = new IcdSqliteCommand("select id, specificculture from specificcultureinfo", sQLiteConnection);
using (IcdSqliteDataReader sQLiteDataReader2 = sQLiteCommand2.ExecuteReader()) using (IcdSqliteDataReader sQLiteDataReader2 = sQLiteCommand2.ExecuteReader())
{ {
@@ -455,6 +456,7 @@ namespace ICD.Common.Utils.Globalization
} }
} }
} }
string[] array = builtinCultures; string[] array = builtinCultures;
for (int i = 0; i < array.Length; i++) for (int i = 0; i < array.Length; i++)
{ {
@@ -462,14 +464,16 @@ namespace ICD.Common.Utils.Globalization
try try
{ {
CultureInfo cultureInfo = CultureInfo.GetCultureInfo(name); CultureInfo cultureInfo = CultureInfo.GetCultureInfo(name);
Dictionary<string, CultureTypes> dictAvailableCulturesByName; Dictionary<string, CultureTypes> dictAvailableCulturesByName;
string name2; string name2;
(dictAvailableCulturesByName = s_DictAvailableCulturesByName)[name2 = cultureInfo.Name] = (dictAvailableCulturesByName = s_DictAvailableCulturesByName)[name2 = cultureInfo.Name] =
(dictAvailableCulturesByName[name2] | CultureTypes.InstalledWin32Cultures); dictAvailableCulturesByName[name2] | CultureTypes.InstalledWin32Cultures;
Dictionary<int, CultureTypes> dictAvailableCulturesByLcid; Dictionary<int, CultureTypes> dictAvailableCulturesByLcid;
int lCid; int lCid;
(dictAvailableCulturesByLcid = s_DictAvailableCulturesByLcid)[lCid = cultureInfo.LCID] = (dictAvailableCulturesByLcid = s_DictAvailableCulturesByLcid)[lCid = cultureInfo.LCID] =
(dictAvailableCulturesByLcid[lCid] | CultureTypes.InstalledWin32Cultures); dictAvailableCulturesByLcid[lCid] | CultureTypes.InstalledWin32Cultures;
} }
catch (Exception) catch (Exception)
{ {
@@ -487,14 +491,17 @@ namespace ICD.Common.Utils.Globalization
{ {
if (culture < 0) if (culture < 0)
throw new ArgumentOutOfRangeException("culture", "must be >= 0"); throw new ArgumentOutOfRangeException("culture", "must be >= 0");
CultureTypes cultureTypes; CultureTypes cultureTypes;
if (!s_DictAvailableCulturesByLcid.TryGetValue(culture, out cultureTypes)) if (!s_DictAvailableCulturesByLcid.TryGetValue(culture, out cultureTypes))
throw new ArgumentException("not supported"); throw new ArgumentException("not supported");
if (!s_IsDatabasePresent || (cultureTypes & CultureTypes.InstalledWin32Cultures) != 0) if (!s_IsDatabasePresent || (cultureTypes & CultureTypes.InstalledWin32Cultures) != 0)
{ {
BuildCultureInfoEx(CultureInfo.GetCultureInfo(culture)); BuildCultureInfoEx(CultureInfo.GetCultureInfo(culture));
return; return;
} }
CultureInfo ci; CultureInfo ci;
bool flag; bool flag;
s_LockCacheByLcid.Enter(); s_LockCacheByLcid.Enter();
@@ -502,11 +509,13 @@ namespace ICD.Common.Utils.Globalization
flag = s_DictCacheByLcid.TryGetValue(culture, out ci); flag = s_DictCacheByLcid.TryGetValue(culture, out ci);
} }
s_LockCacheByLcid.Leave(); s_LockCacheByLcid.Leave();
if (flag) if (flag)
{ {
BuildCultureInfoEx(ci); BuildCultureInfoEx(ci);
return; return;
} }
using (IcdSqliteConnection sQLiteConnection = new IcdSqliteConnection(s_SqlConnectionString)) using (IcdSqliteConnection sQLiteConnection = new IcdSqliteConnection(s_SqlConnectionString))
{ {
sQLiteConnection.Open(); sQLiteConnection.Open();
@@ -527,14 +536,17 @@ namespace ICD.Common.Utils.Globalization
{ {
if (name == null) if (name == null)
throw new ArgumentNullException("name"); throw new ArgumentNullException("name");
CultureTypes cultureTypes; CultureTypes cultureTypes;
if (!s_DictAvailableCulturesByName.TryGetValue(name, out cultureTypes)) if (!s_DictAvailableCulturesByName.TryGetValue(name, out cultureTypes))
throw new ArgumentException("not supported"); throw new ArgumentException("not supported");
if (!s_IsDatabasePresent || (cultureTypes & CultureTypes.InstalledWin32Cultures) != 0) if (!s_IsDatabasePresent || (cultureTypes & CultureTypes.InstalledWin32Cultures) != 0)
{ {
BuildCultureInfoEx(CultureInfo.GetCultureInfo(name)); BuildCultureInfoEx(CultureInfo.GetCultureInfo(name));
return; return;
} }
CultureInfo ci; CultureInfo ci;
bool flag; bool flag;
s_LockCacheByName.Enter(); s_LockCacheByName.Enter();
@@ -594,6 +606,7 @@ namespace ICD.Common.Utils.Globalization
{ {
if (!rdr.Read()) if (!rdr.Read())
throw new InvalidOperationException("failure reading database"); throw new InvalidOperationException("failure reading database");
int ordinal = rdr.GetOrdinal("calendar"); int ordinal = rdr.GetOrdinal("calendar");
string text = rdr.GetString(ordinal); string text = rdr.GetString(ordinal);
if (text.EndsWith(")")) if (text.EndsWith(")"))
@@ -603,6 +616,7 @@ namespace ICD.Common.Utils.Globalization
text = text.Substring(0, num); text = text.Substring(0, num);
m_GregorianCalendarType = (GregorianCalendarTypes)Enum.Parse(typeof(GregorianCalendarTypes), value, true); m_GregorianCalendarType = (GregorianCalendarTypes)Enum.Parse(typeof(GregorianCalendarTypes), value, true);
} }
m_CalendarType = Type.GetType("System.Globalization." + text); m_CalendarType = Type.GetType("System.Globalization." + text);
ordinal = rdr.GetOrdinal("englishname"); ordinal = rdr.GetOrdinal("englishname");
m_EnglishName = rdr.GetString(ordinal); m_EnglishName = rdr.GetString(ordinal);
@@ -615,10 +629,7 @@ namespace ICD.Common.Utils.Globalization
ordinal = rdr.GetOrdinal("nativename"); ordinal = rdr.GetOrdinal("nativename");
m_NativeName = rdr.GetString(ordinal); m_NativeName = rdr.GetString(ordinal);
ordinal = rdr.GetOrdinal("optionalcalendars"); ordinal = rdr.GetOrdinal("optionalcalendars");
string[] array = rdr.GetString(ordinal).Split(new[] string[] array = rdr.GetString(ordinal).Split('|');
{
'|'
});
m_OptionalGregorianCalendarTypes = new GregorianCalendarTypes?[array.Length]; m_OptionalGregorianCalendarTypes = new GregorianCalendarTypes?[array.Length];
m_OptionalCalendarTypes = new Type[array.Length]; m_OptionalCalendarTypes = new Type[array.Length];
for (int i = 0; i < array.Length; i++) for (int i = 0; i < array.Length; i++)
@@ -705,15 +716,15 @@ namespace ICD.Common.Utils.Globalization
CurrencyDecimalDigits = sQLiteDataReader.GetInt32(ordinal), CurrencyDecimalDigits = sQLiteDataReader.GetInt32(ordinal),
CurrencyDecimalSeparator = sQLiteDataReader.GetString(ordinal2), CurrencyDecimalSeparator = sQLiteDataReader.GetString(ordinal2),
CurrencyGroupSizes = sQLiteDataReader.GetString(ordinal3) CurrencyGroupSizes = sQLiteDataReader.GetString(ordinal3)
.Split(new[] {','}) .Split(',')
.Select(s => int.Parse(s)) .Select(s => int.Parse(s))
.ToArray(), .ToArray(),
NumberGroupSizes = sQLiteDataReader.GetString(ordinal4) NumberGroupSizes = sQLiteDataReader.GetString(ordinal4)
.Split(new[] {','}) .Split(',')
.Select(s => int.Parse(s)) .Select(s => int.Parse(s))
.ToArray(), .ToArray(),
PercentGroupSizes = sQLiteDataReader.GetString(ordinal5) PercentGroupSizes = sQLiteDataReader.GetString(ordinal5)
.Split(new[] {','}) .Split(',')
.Select(s => int.Parse(s)) .Select(s => int.Parse(s))
.ToArray(), .ToArray(),
CurrencyGroupSeparator = sQLiteDataReader.GetString(ordinal6), CurrencyGroupSeparator = sQLiteDataReader.GetString(ordinal6),
@@ -802,34 +813,13 @@ namespace ICD.Common.Utils.Globalization
ShortTimePattern = sQLiteDataReader.GetString(ordinal11), ShortTimePattern = sQLiteDataReader.GetString(ordinal11),
TimeSeparator = sQLiteDataReader.GetString(ordinal12), TimeSeparator = sQLiteDataReader.GetString(ordinal12),
YearMonthPattern = sQLiteDataReader.GetString(ordinal13), YearMonthPattern = sQLiteDataReader.GetString(ordinal13),
AbbreviatedDayNames = sQLiteDataReader.GetString(ordinal14).Split(new[] AbbreviatedDayNames = sQLiteDataReader.GetString(ordinal14).Split('|'),
{ ShortestDayNames = sQLiteDataReader.GetString(ordinal15).Split('|'),
'|' DayNames = sQLiteDataReader.GetString(ordinal16).Split('|'),
}), AbbreviatedMonthNames = sQLiteDataReader.GetString(ordinal17).Split('|'),
ShortestDayNames = sQLiteDataReader.GetString(ordinal15).Split(new[] MonthNames = sQLiteDataReader.GetString(ordinal18).Split('|'),
{ AbbreviatedMonthGenitiveNames = sQLiteDataReader.GetString(ordinal19).Split('|'),
'|' MonthGenitiveNames = sQLiteDataReader.GetString(ordinal20).Split('|')
}),
DayNames = sQLiteDataReader.GetString(ordinal16).Split(new[]
{
'|'
}),
AbbreviatedMonthNames = sQLiteDataReader.GetString(ordinal17).Split(new[]
{
'|'
}),
MonthNames = sQLiteDataReader.GetString(ordinal18).Split(new[]
{
'|'
}),
AbbreviatedMonthGenitiveNames = sQLiteDataReader.GetString(ordinal19).Split(new[]
{
'|'
}),
MonthGenitiveNames = sQLiteDataReader.GetString(ordinal20).Split(new[]
{
'|'
})
}; };
} }
s_DictDatetimeFormatInfos[id] = dateTimeFormatInfo; s_DictDatetimeFormatInfos[id] = dateTimeFormatInfo;
@@ -934,9 +924,9 @@ namespace ICD.Common.Utils.Globalization
return cultureInfo; return cultureInfo;
} }
public static CultureInfo[] GetCultures(CultureTypes types) public new static CultureInfo[] GetCultures(CultureTypes types)
{ {
return s_DictAvailableCulturesByName.Where(de => (de.Value & types) != (CultureTypes)0) return s_DictAvailableCulturesByName.Where(de => (de.Value & types) != 0)
.Select(de => new IcdCultureInfo(de.Key)) .Select(de => new IcdCultureInfo(de.Key))
.Cast<CultureInfo>() .Cast<CultureInfo>()
.ToArray(); .ToArray();