public ExecutableManager(RiZhi log) { _log = log ?? throw new ArgumentNullException(nameof(log)); // Get the exeInfoFile or create new one _exeInfoFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "executablesettings.json"); if (!File.Exists(_exeInfoFilePath)) { // Exe file is missing, set up defaults _log.Information($"Executable file does not exist, creating"); Settings = new ExecutableSettings(); } else { // Exe file found, load it try { Settings = JsonConvert.DeserializeObject <ExecutableSettings>(File.ReadAllText(_exeInfoFilePath)); } catch (Exception parseEx) { // Failed loading, create new one instead _log.Error($"Error reading executable info file, creating new one. {parseEx}"); Settings = new ExecutableSettings(); } } // Refresh all known executables versions foreach (var executable in Settings.Executables) { UpdateExecutableVersion(executable); } }
// public string LatestDataDragonVersion { get; private set; } public MainWindowViewModel(FileManager files, RequestManager requests, SettingsManager settingsManager, ReplayPlayer player, RiZhi log) { SettingsManager = settingsManager ?? throw new ArgumentNullException(nameof(settingsManager)); _fileManager = files ?? throw new ArgumentNullException(nameof(files)); _log = log ?? throw new ArgumentNullException(nameof(log)); _player = player ?? throw new ArgumentNullException(nameof(player)); RequestManager = requests ?? throw new ArgumentNullException(nameof(requests)); KnownPlayers = SettingsManager.Settings.KnownPlayers; PreviewReplays = new ObservableCollection <ReplayPreview>(); FileResults = new Dictionary <string, FileResult>(); SortParameters = new QueryProperties { SearchTerm = String.Empty, SortMethod = SortMethod.DateDesc }; StatusBarModel = new StatusBar(); // By default we do not want to delete our cache ClearItemsCacheOnClose = false; ClearChampsCacheOnClose = false; ClearReplayCacheOnClose = false; }
public MainWindow() { InitializeComponent(); Dispatcher.UnhandledException += (object sender, DispatcherUnhandledExceptionEventArgs e) => { _log.Error(e.Exception.ToString()); _log.WriteLog(); }; _log = new RiZhi() { FilePrefix = "ReplayBookLog" }; _settingsManager = new SettingsManager(_log); _files = new FileManager(_settingsManager.Settings, _log); _requests = new RequestManager(_settingsManager.Settings, _log); var context = new MainWindowViewModel(_files, _requests, _settingsManager, _log); this.DataContext = context; var version = Assembly.GetEntryAssembly()?.GetName().Version.ToString(2); _log.Error($"Log files are generated for each run while in prerelease. Prerelease version: {version}"); // Decide to show welcome window context.ShowWelcomeWindow(); context.ShowMissingReplayFoldersMessageBox(); }
private void CreateCommonObjects() { // Create common objects var assemblyName = Assembly.GetEntryAssembly()?.GetName(); _log = new RiZhi() { FilePrefix = "ReplayBookLog", AssemblyName = assemblyName.Name, AssemblyVersion = assemblyName.Version.ToString(2) }; try { _settingsManager = new SettingsManager(_log); _files = new FileManager(_settingsManager.Settings, _log); _requests = new RequestManager(_settingsManager.Settings, _log); _player = new ReplayPlayer(_files, _settingsManager, _log); } catch (Exception ex) { _log.Error(ex.ToString()); _log.WriteLog(); throw; } }
public MainWindow(RiZhi log, SettingsManager settingsManager, RequestManager requests, FileManager files, ReplayPlayer player) { InitializeComponent(); _log = log; _settingsManager = settingsManager; _requests = requests; _files = files; _player = player; _lastSelection = null; Dispatcher.UnhandledException += (object sender, DispatcherUnhandledExceptionEventArgs e) => { _log.Error(e.Exception.ToString()); _log.WriteLog(); }; var context = new MainWindowViewModel(_files, _requests, _settingsManager, _player, _log); this.DataContext = context; // Decide to show welcome window context.ShowWelcomeWindow(); context.ShowMissingReplayFoldersMessageBox(); }
public FileManager(ObservableSettings settings, RiZhi log) { _log = log ?? throw new ArgumentNullException(nameof(log)); _fileSystem = new FolderRepository(settings, log); _db = new DatabaseRepository(log); _reader = new ReplayReader(log); }
public RequestManager(ObservableSettings settings, RiZhi log) { _settings = settings; _log = log ?? throw new ArgumentNullException(nameof(log)); _downloadClient = new DownloadClient(_cachePath, _settings, _log); _cacheClient = new CacheClient(_cachePath, _log); _inProgressTasks = new ConcurrentDictionary <string, Task <ResponseBase> >(); }
public DownloadClient(string downloadPath, ObservableSettings settings, RiZhi log) { if (string.IsNullOrEmpty(downloadPath)) { throw new ArgumentNullException(nameof(downloadPath)); } _settings = settings; _log = log; _downloadRootFolder = downloadPath; _httpClient = new HttpClient(); }
public DatabaseRepository(RiZhi log) { _log = log; try { InitializeDatabase(); } catch (Exception ex) { _log.Warning($"Database file is invalid, deleting and trying again... exception:{ex}"); File.Delete(_filePath); InitializeDatabase(); } }
public SettingsManager(RiZhi log) { Executables = new ExecutableManager(log); _log = log; string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json"); if (File.Exists(configPath)) { LoadConfigFile(configPath); } else { _log.Information("No config file found, creating new defaults"); Settings = new ObservableSettings(); } }
public SettingsManager(RiZhi log) { _log = log ?? throw new ArgumentNullException(nameof(log)); Executables = new ExecutableManager(log); if (File.Exists(_configPath)) { LoadConfigFile(); } else { _log.Information("No config file found, creating new defaults"); Settings = new ObservableSettings(); } LoadTemporaryValues(); }
public MainWindowViewModel(FileManager files, RequestManager requests, SettingsManager settingsManager, RiZhi log) { SettingsManager = settingsManager ?? throw new ArgumentNullException(nameof(settingsManager)); _fileManager = files ?? throw new ArgumentNullException(nameof(files)); _log = log ?? throw new ArgumentNullException(nameof(log)); RequestManager = requests ?? throw new ArgumentNullException(nameof(requests)); KnownPlayers = SettingsManager.Settings.KnownPlayers; PreviewReplays = new ObservableCollection <ReplayPreview>(); FileResults = new Dictionary <string, FileResult>(); SortParameters = new QueryProperties { SearchTerm = String.Empty, SortMethod = SortMethod.DateDesc }; StatusBarModel = new StatusBar(); }
public static void Main(string[] args) { var log = new RiZhi { FilePrefix = "ExampleApp", AssemblyVersion = "1.0.0", AssemblyName = "Example Program" }; log.Debug("Debug message, appears first"); log.Information("Information message, appears second"); log.Warning($"Warning message, appears third. Error Flag = {log.ErrorFlag}"); log.Error("Error message, appears fourth"); if (log.ErrorFlag) { log.Debug($"Error was logged"); } log.WriteLog(); }
public CacheClient(string cachePath, RiZhi log) { _log = log; CachePath = cachePath; }
public FolderRepository(ObservableSettings settings, RiZhi log) { _settings = settings ?? throw new ArgumentNullException(nameof(settings)); _log = log ?? throw new ArgumentNullException(nameof(log)); }
public ReplayReader(RiZhi log) { _log = log; }
public ReplayPlayer(FileManager files, SettingsManager settings, RiZhi log) { _files = files; _settingsManager = settings; _log = log; }