public async Task SetOptionsAsync(UserAD user, string serverUpdateURI, string pathToExternalUpdateZip = null) { _userAD = user; _serverUpdateURI = serverUpdateURI; _pathToExternalUpdateZip = pathToExternalUpdateZip; if (!Directory.Exists(CommonConst.LocalTempFolder)) { Directory.CreateDirectory(CommonConst.LocalTempFolder); } if (!Directory.Exists(CommonConst.LocalUpdateFolder)) { Directory.CreateDirectory(CommonConst.LocalUpdateFolder); } if (!string.IsNullOrWhiteSpace(_serverUpdateURI)) { Options = MakeUpdateOptions(); stopUpdate = false; } else { CommonExtensions.Logger(LogTypes.Info, $"При инициализации не указан адрес сервера обновлений."); CommonExtensions.Logger(LogTypes.Info, $"Ищу файл '{CommonConst.PathToUrl}'"); if (!string.IsNullOrWhiteSpace(CommonConst.PathToUrl) && File.Exists(CommonConst.PathToUrl)) { IList <string> file = await ReadFileAsync(CommonConst.PathToUrl); if (file?.Count > 0) { foreach (var f in file) { CommonExtensions.Logger(LogTypes.Info, f); this._serverUpdateURI = f; CommonExtensions.Logger(LogTypes.Info, $"Адрес источника обновлений найден в файле как: '{f}'"); break; } Options = MakeUpdateOptions(); EvntStatus?.Invoke(this, new TextEventArgs($"Адрес сервера обновлений: {Options.serverUpdateURI}")); stopUpdate = false; } else { stopUpdate = true; } } else { stopUpdate = true; EvntStatus?.Invoke(this, new TextEventArgs($"Файл с адресом сервера обновлений '{CommonConst.PathToUrl}' не найден")); } } if (Options?.DoObjectPropertiesAsStringDictionary().Count > 0 && !string.IsNullOrWhiteSpace(CommonConst.PathToUrl)) { CommonExtensions.Logger(LogTypes.Info, "Параметры для скачивания/загрузки обновлений:"); CommonExtensions.Logger(LogTypes.Info, Options.DoObjectPropertiesAsStringDictionary().AsString()); } else { CommonExtensions.Logger(LogTypes.Info, $"Операции загрузки/выгрузки обновлений не доступны."); } }
public ApplicationUpdater(UserAD user, string serverUpdateURI, string pathToExternalUpdateZip = null) { _ = SetOptionsAsync(user, serverUpdateURI, pathToExternalUpdateZip); }