protected EpsOtcBase() { FilePumper = new FilePumper(Environment.MachineName, Environment.UserName, string.Empty); FilePumper.OnEventErrorHandler += LogClient.Logger.OnEventErrorHandler; Files = new List <FileStruct>(); Sb = new SubstMacros(); Sb.SetMacro("USERNAME", Environment.UserName); Sb.SetMacro("HOSTNAME", Environment.MachineName); }
public void Write(string sourceFileName, byte[] data) { var sm = new SubstMacros(); sm.SetMacro("FILENAME", Path.GetFileName(sourceFileName)); string dstFolder = (_fileRecordProtect == EpsTaskProtect.FOLDER) ? _supportTargetFolder : _targetFolder; string dstFileName = (_fileRecordProtect == EpsTaskProtect.EXT) ? sm.Substitute(_supportFileName) : Path.GetFileName(sourceFileName); string dstFile = Path.Combine(dstFolder, dstFileName); CreateFile(dstFile, data); if (_fileRecordProtect == EpsTaskProtect.CRC) { var hc = new HashCode(); string strHashCode = hc.GetMD5(dstFile); CreateFile(Path.Combine(_targetFolder, sm.Substitute(_supportFileName)), new[] { strHashCode }); } if (_fileRecordProtect == EpsTaskProtect.EXT || _fileRecordProtect == EpsTaskProtect.FOLDER) { string newFileName = Path.Combine(_targetFolder, Path.GetFileName(sourceFileName)); DeleteFileIfExists(newFileName); MoveFile(dstFile, newFileName); } if (_deleteSrcFile) { DeleteFileIfExists(sourceFileName); } }
public void Write(string sourceFileName, byte[] data) { var sm = new SubstMacros(); sm.SetMacro("FILENAME", sourceFileName); string dstFolder = (_fileRecordProtect == EpsTaskProtect.FOLDER) ? _supportTargetFolder : _targetFolder; string dstFileName = (_fileRecordProtect == EpsTaskProtect.EXT) ? sm.Substitute(_supportFileName) : Path.GetFileName(sourceFileName); string dstFile = String.Format("{0}/{1}", dstFolder, dstFileName); // Проверка наличия директории и ее создание, если ее нет if (!IsDirectoryExists(dstFolder)) { CreateDirectory(dstFolder); } // Проверка существования файла и его удаление if (IsFileExists(dstFile)) { DeleteFile(dstFile); } // Запись файла или временного файла UploadFile(dstFile, data); // Перемещение временного файла if (_fileRecordProtect == EpsTaskProtect.FOLDER) { if (!IsDirectoryExists(_targetFolder)) { CreateDirectory(_targetFolder); } MoveFile(dstFile, String.Format("{0}/{1}", _targetFolder, Path.GetFileName(sourceFileName))); } // Переименование временного файла if (_fileRecordProtect == EpsTaskProtect.EXT) { RenameFile(dstFile, sourceFileName); } // Создание файла - спутника if (_fileRecordProtect == EpsTaskProtect.CRC) { UploadFile(string.Format("{0}/{1}", dstFolder, sm.Substitute(_supportFileName)), Encoding.Default.GetBytes(new HashCode().GetMD5(data))); } }
public void AddParameter(string name, object value, object subvalue) { var p = name.To(EpsTaskParams.None); if (p == EpsTaskParams.None) { throw new DeveloperException(string.Format("Undefined EpsTaskParams '{0}' in EpsOtcBase.AddParameter.", name)); } var param = new ParamMap { Name = p, Subvalue = subvalue }; value = value ?? ParamMap.NullValue; //param.value = value; // Коллеги, пожалуйста, делайте подстановку макросов непосредственно перед употреблением переменной. При загрузке // конфигурационного файла некоторые макросы будут не определены. param.Value = Sb.Substitute(value.ToString()); Params.Add(param); Sb.SetMacro(name, value.ToString()); }