public UpdateUploader(UpdateOptions parameters, List <IFileInfo> source, List <IFileInfo> target) : this(fileSystem : new System.IO.Abstractions.FileSystem()) //use default implementation which calls System.IO { Set(parameters, source, target); }
public void Set(UpdateOptions parameters, List <IFileInfo> source, List <IFileInfo> target) { _parameters = parameters; _sourceList = source; _targetList = target; }
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, $"Операции загрузки/выгрузки обновлений не доступны."); } }