PageRenderTime 51ms CodeModel.GetById 25ms RepoModel.GetById 1ms app.codeStats 0ms

/SyncServiceTestHarness/MainWindow.xaml.cs

https://bitbucket.org/SeanCole/trendtool
C# | 114 lines | 85 code | 16 blank | 13 comment | 2 complexity | d4e830cec14f776d9822f45ae0828cec MD5 | raw file
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Data;
  4. using System.Configuration;
  5. using TechneauxDataSyncService;
  6. using Serilog;
  7. using Serilog.Core;
  8. using System.Reactive.Linq;
  9. using TechneauxDataSyncService.Main;
  10. using System.Collections.Generic;
  11. using System.ComponentModel;
  12. using System.Configuration;
  13. using System.IO;
  14. using System.Linq;
  15. using System.Reactive.Linq;
  16. using System.Threading;
  17. using System.Threading.Tasks;
  18. using System.Xml.Serialization;
  19. namespace SyncServiceTestHarness
  20. {
  21. /// <summary>
  22. /// Interaction logic for MainWindow.xaml
  23. /// </summary>
  24. public partial class MainWindow : Window
  25. {
  26. public MainWindow()
  27. {
  28. InitializeComponent();
  29. Loaded += MainWindow_Loaded;
  30. Closed += MainWindow_Closed;
  31. }
  32. private void MainWindow_Closed(object sender, EventArgs e)
  33. {
  34. FileCheckSServ?.CancelAll();
  35. }
  36. NewFileCheckService FileCheckSServ;
  37. private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
  38. {
  39. TechneauxDataSyncService.ServiceOps.LogAllOpResults = true;
  40. Observable.Interval(TimeSpan.FromMinutes(1))
  41. .ObserveOnDispatcher()
  42. .Subscribe(evt =>
  43. {
  44. UpdatePointListView();
  45. });
  46. Observable.Interval(TimeSpan.FromMinutes(1))
  47. .ObserveOnDispatcher()
  48. .Subscribe(evt => {
  49. UpdateSyncView();
  50. });
  51. //var logLevelSwitch = new LoggingLevelSwitch(Serilog.Events.LogEventLevel.Warning);
  52. var LoggingLevelAttr = System.Configuration.ConfigurationManager.AppSettings.Get("LogLevelConfig");
  53. Serilog.Events.LogEventLevel newLevel = (Serilog.Events.LogEventLevel)Enum.Parse(typeof(Serilog.Events.LogEventLevel), LoggingLevelAttr);
  54. var logLevelSwitch = new LoggingLevelSwitch(newLevel);
  55. Log.Logger = new LoggerConfiguration()
  56. .MinimumLevel.ControlledBy(logLevelSwitch)
  57. .WriteTo
  58. .RollingFile($@"{AppDomain.CurrentDomain.BaseDirectory}\Logs\General Sync Service Log.txt", shared: true)
  59. .CreateLogger();
  60. var ThisExePath = Environment.CurrentDirectory;
  61. var ThisConfigPath = $@"{ThisExePath}\ServiceConfigs\";
  62. FileCheckSServ = new NewFileCheckService(ThisConfigPath, true);
  63. DataContext = FileCheckSServ;
  64. await FileCheckSServ.RunNewFileCheck();
  65. }
  66. private void PointListForSelectedFile_TargetUpdated(object sender, DataTransferEventArgs e)
  67. {
  68. UpdatePointListView();
  69. }
  70. private void UpdatePointListView()
  71. {
  72. //for (int i = 0; i < ConfigGridView.Columns.Count; i++)
  73. //{
  74. // PointViewGrid.Columns[i].Width = 0;
  75. //}
  76. //for (int j = 0; j < PointViewGrid.Columns.Count; j++)
  77. //{
  78. // PointViewGrid.Columns[j].Width = double.NaN;
  79. //}
  80. }
  81. private void UpdateSyncView()
  82. {
  83. for (int i = 0; i < ConfigGridView.Columns.Count; i++)
  84. {
  85. ConfigGridView.Columns[i].Width = 0;
  86. }
  87. // ConfigGridView.
  88. for (int j = 0; j < ConfigGridView.Columns.Count; j++)
  89. {
  90. ConfigGridView.Columns[j].Width = double.NaN;
  91. }
  92. }
  93. private void ListOfSyncFileUtility_TargetUpdated(object sender, DataTransferEventArgs e)
  94. {
  95. UpdateSyncView();
  96. }
  97. }
  98. }