Esempio n. 1
0
        protected IEnumerable <IColumnProcess> GetProcesses()
        {
            var processes = new List <IColumnProcess>();

            var range = ETLRange.Split(':');
            var start = 0;
            var end   = etl.CurrentETLTools.Count;

            if (range.Length == 2)
            {
                try
                {
                    start = int.Parse(range[0]);
                    end   = int.Parse(range[1]);
                    if (end <= start)
                    {
                        throw new Exception("第二个数字应该比第一个数更大");
                    }
                }
                catch (Exception ex)
                {
                    XLogSys.Print.Error("子流范围表达式错误,请检查:" + ex.Message);
                }
            }
            foreach (var tool in etl.CurrentETLTools.Skip(start).Take(end - start))
            {
                processes.Add(tool);
            }
            return(processes);
        }
Esempio n. 2
0
File: EtlGE.cs Progetto: zxhjet/Hawk
        protected IEnumerable <IColumnProcess> GetProcesses()
        {
            var range = ETLRange.Split(':');
            var start = 0;

            if (etl == null)
            {
                yield break;
            }

            var end = etl.CurrentETLTools.Count;

            if (range.Length == 2)
            {
                try
                {
                    start = int.Parse(range[0]);
                    if (start < 0)
                    {
                        start = etl.CurrentETLTools.Count + start;
                    }
                    end = int.Parse(range[1]);
                    if (end < 0)
                    {
                        end = etl.CurrentETLTools.Count + end;
                    }
                }
                catch (Exception ex)
                {
                    XLogSys.Print.Error("子流范围表达式错误,请检查:" + ex.Message);
                }
            }
            foreach (var tool in etl.CurrentETLTools.Skip(start).Take(end - start))
            {
                yield return(tool);
            }
        }