Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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;
        }
Exemple #3
0
        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");     // нет такой задачи
            }
        }