public OutputTask CreateOutputTasks(EpsTaskType task, int outputTaskOrder, TaskOutputParam[] taskOutputParam) { if (task == EpsTaskType.None) { return(null); } var result = new OutputTask { OutputTaskCode = task.ToString(), OutputTaskOrder = outputTaskOrder, }; if (taskOutputParam != null && taskOutputParam.Length > 0) { result.TaskParams = new WMSBusinessCollection <OutputParam>(); foreach (var p in taskOutputParam.Where(p => p != null && p.Code != EpsTaskParams.None && p.Code != EpsTaskParams.Variable && p.Code != EpsTaskParams.EpsReport && p.Code != EpsTaskParams.ResultReportFile && p.Code != EpsTaskParams.ChangeODBC && p.Code != EpsTaskParams.Zip && p.Code != EpsTaskParams.ReserveCopy)) { result.TaskParams.Add(new OutputParam { OutputParamCode = p.Code.ToString(), OutputParamValue = p.Value, OutputParamType = EpsParamType.TSK.ToString() }); } } return(result); }
/// <summary> /// Конструктор задачи. /// </summary> public EpsTask(OutputTask task, decimal jobId, string workingFolder, bool zip, bool reserve) { _task = task; _jobId = jobId; _workingFolder = workingFolder; _zip = zip; _reserve = reserve; _taskType = _task.OutputTaskCode.To(EpsTaskType.None); if (_taskType == EpsTaskType.None) { throw new ArgumentException(string.Format("Undefined OutputTaskCode '{0}' in OutputTask.", _task.OutputTaskCode)); } if (task.TaskParams == null) { return; } var exportFormat = task.TaskParams.Where( p => p != null && p.OutputParamCode.To(EpsTaskParams.None) == EpsTaskParams.FileFormat) .Select(p => p.OutputParamValue) .FirstOrDefault(); //больше не должно быть форматов var encodingName = task.TaskParams.Where( p => p != null && p.OutputParamCode.To(EpsTaskParams.None) == EpsTaskParams.Conversion) .Select(p => p.OutputParamValue) .FirstOrDefault(); var encoding = string.IsNullOrEmpty(encodingName) ? Encoding.UTF8 : Encoding.GetEncoding(encodingName); var spacelife = task.TaskParams.Any( p => p != null && p.OutputParamCode.To(EpsTaskParams.None) == EpsTaskParams.Spacelife && p.OutputParamValue.To(0) != 0); _exportType = !string.IsNullOrEmpty(exportFormat) ? new ExportType { Encoding = encoding, Format = exportFormat, Spacelife = spacelife } : null; }
public IEpsOutputTask Create(EpsTaskType type) { switch (type) { case EpsTaskType.OTC_PRINT: return(new EpsOtcPrint()); case EpsTaskType.OTC_MAIL: return(new EpsOtcMail()); case EpsTaskType.OTC_SHARE: return(new EpsOtcShare()); case EpsTaskType.OTC_FTP: return(new EpsOtcFtp()); case EpsTaskType.OTC_DCL: return(new EpsOtcDcl()); default: throw new ArgumentException("type"); // нет такой задачи } }