using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Windows.Forms; using Microsoft.CSharp.RuntimeBinder; using Microsoft.Office.Interop.Excel; namespace SL200_RTLogViewer { // Token: 0x02000008 RID: 8 public class TrackInfo { // Token: 0x06000028 RID: 40 RVA: 0x000045EF File Offset: 0x000027EF private TrackInfo() { } // Token: 0x06000029 RID: 41 RVA: 0x000045FC File Offset: 0x000027FC ~TrackInfo() { } // Token: 0x0600002A RID: 42 RVA: 0x00004628 File Offset: 0x00002828 public static void SetInfo() { } // Token: 0x0600002B RID: 43 RVA: 0x0000462C File Offset: 0x0000282C private static void SetTrackInfo() { string filename = System.Windows.Forms.Application.StartupPath + "\\TrackInfo.xlsx"; Microsoft.Office.Interop.Excel.Application application = (Microsoft.Office.Interop.Excel.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("00024500-0000-0000-C000-000000000046"))); try { Workbook workbook = application.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); if (TrackInfo.<>o__5.<>p__0 == null) { TrackInfo.<>o__5.<>p__0 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.None, typeof(Worksheet), typeof(TrackInfo))); } Worksheet worksheet = TrackInfo.<>o__5.<>p__0.Target(TrackInfo.<>o__5.<>p__0, workbook.Sheets["상선TC2"]); if (TrackInfo.<>o__5.<>p__1 == null) { TrackInfo.<>o__5.<>p__1 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.None, typeof(Worksheet), typeof(TrackInfo))); } Worksheet worksheet2 = TrackInfo.<>o__5.<>p__1.Target(TrackInfo.<>o__5.<>p__1, workbook.Sheets["하선TC1"]); Range usedRange = worksheet.UsedRange; for (int i = 2; i <= usedRange.Rows.Count; i++) { List tc2_LIst = TrackInfo.TC2_LIst; if (TrackInfo.<>o__5.<>p__11 == null) { TrackInfo.<>o__5.<>p__11 = CallSite>.Create(Binder.InvokeConstructor(CSharpBinderFlags.None, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target = TrackInfo.<>o__5.<>p__11.Target; CallSite <>p__ = TrackInfo.<>o__5.<>p__11; Type typeFromHandle = typeof(StationInfo); if (TrackInfo.<>o__5.<>p__3 == null) { TrackInfo.<>o__5.<>p__3 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToDouble", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target2 = TrackInfo.<>o__5.<>p__3.Target; CallSite <>p__2 = TrackInfo.<>o__5.<>p__3; Type typeFromHandle2 = typeof(Convert); if (TrackInfo.<>o__5.<>p__2 == null) { TrackInfo.<>o__5.<>p__2 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg = target2(<>p__2, typeFromHandle2, TrackInfo.<>o__5.<>p__2.Target(TrackInfo.<>o__5.<>p__2, usedRange.Cells[i, 1]) ?? 0.0); if (TrackInfo.<>o__5.<>p__5 == null) { TrackInfo.<>o__5.<>p__5 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target3 = TrackInfo.<>o__5.<>p__5.Target; CallSite <>p__3 = TrackInfo.<>o__5.<>p__5; Type typeFromHandle3 = typeof(Convert); if (TrackInfo.<>o__5.<>p__4 == null) { TrackInfo.<>o__5.<>p__4 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg2 = target3(<>p__3, typeFromHandle3, TrackInfo.<>o__5.<>p__4.Target(TrackInfo.<>o__5.<>p__4, usedRange.Cells[i, 2]) ?? 0); if (TrackInfo.<>o__5.<>p__6 == null) { TrackInfo.<>o__5.<>p__6 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg3 = TrackInfo.<>o__5.<>p__6.Target(TrackInfo.<>o__5.<>p__6, usedRange.Cells[i, 3]) ?? string.Empty; if (TrackInfo.<>o__5.<>p__8 == null) { TrackInfo.<>o__5.<>p__8 = CallSite>.Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target4 = TrackInfo.<>o__5.<>p__8.Target; CallSite <>p__4 = TrackInfo.<>o__5.<>p__8; if (TrackInfo.<>o__5.<>p__7 == null) { TrackInfo.<>o__5.<>p__7 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } DoorDirection arg4 = target4(<>p__4, TrackInfo.<>o__5.<>p__7.Target(TrackInfo.<>o__5.<>p__7, usedRange.Cells[i, 4]) ?? (string.Empty == "DW")) ? DoorDirection.DW : DoorDirection.DE; if (TrackInfo.<>o__5.<>p__10 == null) { TrackInfo.<>o__5.<>p__10 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target5 = TrackInfo.<>o__5.<>p__10.Target; CallSite <>p__5 = TrackInfo.<>o__5.<>p__10; Type typeFromHandle4 = typeof(Convert); if (TrackInfo.<>o__5.<>p__9 == null) { TrackInfo.<>o__5.<>p__9 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } tc2_LIst.Add(target(<>p__, typeFromHandle, arg, arg2, arg3, arg4, target5(<>p__5, typeFromHandle4, TrackInfo.<>o__5.<>p__9.Target(TrackInfo.<>o__5.<>p__9, usedRange.Cells[i, 5]) ?? 0))); } usedRange = worksheet2.UsedRange; for (int j = 2; j <= usedRange.Rows.Count; j++) { List tc1_LIst = TrackInfo.TC1_LIst; if (TrackInfo.<>o__5.<>p__21 == null) { TrackInfo.<>o__5.<>p__21 = CallSite>.Create(Binder.InvokeConstructor(CSharpBinderFlags.None, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target6 = TrackInfo.<>o__5.<>p__21.Target; CallSite <>p__6 = TrackInfo.<>o__5.<>p__21; Type typeFromHandle5 = typeof(StationInfo); if (TrackInfo.<>o__5.<>p__13 == null) { TrackInfo.<>o__5.<>p__13 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToDouble", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target7 = TrackInfo.<>o__5.<>p__13.Target; CallSite <>p__7 = TrackInfo.<>o__5.<>p__13; Type typeFromHandle6 = typeof(Convert); if (TrackInfo.<>o__5.<>p__12 == null) { TrackInfo.<>o__5.<>p__12 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg5 = target7(<>p__7, typeFromHandle6, TrackInfo.<>o__5.<>p__12.Target(TrackInfo.<>o__5.<>p__12, usedRange.Cells[j, 1]) ?? 0); if (TrackInfo.<>o__5.<>p__15 == null) { TrackInfo.<>o__5.<>p__15 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target8 = TrackInfo.<>o__5.<>p__15.Target; CallSite <>p__8 = TrackInfo.<>o__5.<>p__15; Type typeFromHandle7 = typeof(Convert); if (TrackInfo.<>o__5.<>p__14 == null) { TrackInfo.<>o__5.<>p__14 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg6 = target8(<>p__8, typeFromHandle7, TrackInfo.<>o__5.<>p__14.Target(TrackInfo.<>o__5.<>p__14, usedRange.Cells[j, 2]) ?? 0); if (TrackInfo.<>o__5.<>p__16 == null) { TrackInfo.<>o__5.<>p__16 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } object arg7 = TrackInfo.<>o__5.<>p__16.Target(TrackInfo.<>o__5.<>p__16, usedRange.Cells[j, 3]) ?? string.Empty; if (TrackInfo.<>o__5.<>p__18 == null) { TrackInfo.<>o__5.<>p__18 = CallSite>.Create(Binder.UnaryOperation(CSharpBinderFlags.None, ExpressionType.IsTrue, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target9 = TrackInfo.<>o__5.<>p__18.Target; CallSite <>p__9 = TrackInfo.<>o__5.<>p__18; if (TrackInfo.<>o__5.<>p__17 == null) { TrackInfo.<>o__5.<>p__17 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } DoorDirection arg8 = target9(<>p__9, TrackInfo.<>o__5.<>p__17.Target(TrackInfo.<>o__5.<>p__17, usedRange.Cells[j, 4]) ?? (string.Empty == "DW")) ? DoorDirection.DW : DoorDirection.DE; if (TrackInfo.<>o__5.<>p__20 == null) { TrackInfo.<>o__5.<>p__20 = CallSite>.Create(Binder.InvokeMember(CSharpBinderFlags.None, "ToInt16", null, typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.UseCompileTimeType | CSharpArgumentInfoFlags.IsStaticType, null), CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } Func target10 = TrackInfo.<>o__5.<>p__20.Target; CallSite <>p__10 = TrackInfo.<>o__5.<>p__20; Type typeFromHandle8 = typeof(Convert); if (TrackInfo.<>o__5.<>p__19 == null) { TrackInfo.<>o__5.<>p__19 = CallSite>.Create(Binder.GetMember(CSharpBinderFlags.None, "Value2", typeof(TrackInfo), new CSharpArgumentInfo[] { CSharpArgumentInfo.Create(CSharpArgumentInfoFlags.None, null) })); } tc1_LIst.Add(target6(<>p__6, typeFromHandle5, arg5, arg6, arg7, arg8, target10(<>p__10, typeFromHandle8, TrackInfo.<>o__5.<>p__19.Target(TrackInfo.<>o__5.<>p__19, usedRange.Cells[j, 5]) ?? 0))); } Console.WriteLine("역정보 로딩 완료"); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { } } // Token: 0x0600002C RID: 44 RVA: 0x000050AC File Offset: 0x000032AC public static void setINFO2() { Microsoft.Office.Interop.Excel.Application application = (Microsoft.Office.Interop.Excel.Application)Activator.CreateInstance(Marshal.GetTypeFromCLSID(new Guid("00024500-0000-0000-C000-000000000046"))); string filename = System.Windows.Forms.Application.StartupPath + "\\TrackInfo.xlsx"; try { Workbook workbook = application.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); if (TrackInfo.<>o__6.<>p__0 == null) { TrackInfo.<>o__6.<>p__0 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(Worksheet), typeof(TrackInfo))); } Worksheet worksheet = TrackInfo.<>o__6.<>p__0.Target(TrackInfo.<>o__6.<>p__0, workbook.Sheets["상선TC2"]); if (TrackInfo.<>o__6.<>p__1 == null) { TrackInfo.<>o__6.<>p__1 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(Worksheet), typeof(TrackInfo))); } Worksheet worksheet2 = TrackInfo.<>o__6.<>p__1.Target(TrackInfo.<>o__6.<>p__1, workbook.Sheets["하선TC1"]); TrackInfo.AddDataToList(worksheet, TrackInfo.TC2_LIst); TrackInfo.AddDataToList(worksheet2, TrackInfo.TC1_LIst); } catch (Exception ex) { Console.WriteLine("An error occurred: " + ex.Message); } finally { bool flag = application != null; if (flag) { application.Quit(); TrackInfo.ReleaseObject(application); } } } // Token: 0x0600002D RID: 45 RVA: 0x00005274 File Offset: 0x00003474 private static void AddDataToList(Worksheet worksheet, List stationList) { Range usedRange = worksheet.UsedRange; if (TrackInfo.<>o__7.<>p__0 == null) { TrackInfo.<>o__7.<>p__0 = CallSite>.Create(Binder.Convert(CSharpBinderFlags.ConvertExplicit, typeof(object[,]), typeof(TrackInfo))); } object[,] array = TrackInfo.<>o__7.<>p__0.Target(TrackInfo.<>o__7.<>p__0, usedRange.get_Value(Type.Missing)); for (int i = 2; i <= usedRange.Rows.Count; i++) { stationList.Add(new StationInfo(Convert.ToDouble(array[i, 1]), (int)Convert.ToInt16(array[i, 2]), array[i, 3].ToString(), (array[i, 5].ToString() == "DW") ? DoorDirection.DW : DoorDirection.DE, (int)Convert.ToInt16(array[i, 4]))); } } // Token: 0x0600002E RID: 46 RVA: 0x00005354 File Offset: 0x00003554 private static void ReleaseObject(object obj) { try { Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; Console.WriteLine("An error occurred while releasing the object: " + ex.Message); } finally { GC.Collect(); } } // Token: 0x0600002F RID: 47 RVA: 0x000053B8 File Offset: 0x000035B8 public static double GetStationDistance(string StationName, bool IsTC1) { double result = 0.0; if (IsTC1) { for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++) { bool flag = StationName == TrackInfo.TC1_LIst[i].StationName; if (flag) { result = TrackInfo.TC1_LIst[i].Pos; } } } else { for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++) { bool flag2 = StationName == TrackInfo.TC2_LIst[j].StationName; if (flag2) { result = TrackInfo.TC2_LIst[j].Pos; } } } return result; } // Token: 0x06000030 RID: 48 RVA: 0x00005480 File Offset: 0x00003680 public static int GetStationNo(string StationName) { int result = 0; for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++) { bool flag = StationName == TrackInfo.TC1_LIst[i].StationName; if (flag) { result = TrackInfo.TC1_LIst[i].StationCode; break; } } return result; } // Token: 0x06000031 RID: 49 RVA: 0x000054E0 File Offset: 0x000036E0 public static string GetStationName(int stationNo) { string result = ""; for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++) { bool flag = stationNo == TrackInfo.TC1_LIst[i].StationCode; if (flag) { result = TrackInfo.TC1_LIst[i].StationName; break; } } return result; } // Token: 0x06000032 RID: 50 RVA: 0x00005544 File Offset: 0x00003744 public static DoorDirection GetDoorDir(string StationName, bool IsTC1) { DoorDirection result = DoorDirection.DW; if (IsTC1) { for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++) { bool flag = StationName == TrackInfo.TC1_LIst[i].StationName; if (flag) { result = TrackInfo.TC1_LIst[i].NextDoorDir; } } } else { for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++) { bool flag2 = StationName == TrackInfo.TC2_LIst[j].StationName; if (flag2) { result = TrackInfo.TC2_LIst[j].NextDoorDir; } } } return result; } // Token: 0x06000033 RID: 51 RVA: 0x00005604 File Offset: 0x00003804 public static DoorDirection GetDoorDir(int StationNo, bool IsTC1) { DoorDirection result = DoorDirection.DW; if (IsTC1) { for (int i = 0; i < TrackInfo.TC1_LIst.Count; i++) { bool flag = StationNo == TrackInfo.TC1_LIst[i].StationCode; if (flag) { result = TrackInfo.TC1_LIst[i].NextDoorDir; } } } else { for (int j = 0; j < TrackInfo.TC2_LIst.Count; j++) { bool flag2 = StationNo == TrackInfo.TC2_LIst[j].StationCode; if (flag2) { result = TrackInfo.TC2_LIst[j].NextDoorDir; } } } return result; } // Token: 0x04000025 RID: 37 public static List TC1_LIst = new List(); // Token: 0x04000026 RID: 38 public static List TC2_LIst = new List(); } }