protected override IEnumerable <IFreeDocument> InternalTransformManyData(IFreeDocument document) { int itemPerPage = 1; int total = 1; int min = 1; var col = string.IsNullOrEmpty(NewColumn) ? Column : NewColumn; if (int.TryParse(document.Query(ItemPerPage), out itemPerPage) && int.TryParse(document[Column].ToString(), out total) && int.TryParse(document.Query(MinValue), out min)) { if (itemPerPage == 0) { itemPerPage = 1; } var remainder = total % itemPerPage; int totalp = total / itemPerPage; if (remainder != 0) { totalp += 1; } for (int i = min; i < min + totalp; i += 1) { var doc = document.Clone(); doc[col] = i; yield return(doc); } } }
public IEnumerable <IFreeDocument> TransformManyData(IEnumerable <IFreeDocument> datas) { foreach (var data in datas) { if (IsCycle) { IFreeDocument newdata = data; while (string.IsNullOrEmpty(newdata[Column].ToString()) == false) { var result = etl.Generate(process, IsExecute, new List <IFreeDocument> { newdata.Clone() }).FirstOrDefault(); if (result == null) { break; } yield return(result.Clone()); newdata = result; } } else { var result = etl.Generate(process, IsExecute, new List <IFreeDocument> { data.Clone() }); foreach (var item in result) { yield return(item.MergeQuery(data, NewColumn)); } } } }
public void AddErrorLog(IFreeDocument item, Exception ex, IColumnProcess process) { if (string.IsNullOrEmpty(errorLogName)) { return; } var param = item.Clone() as FreeDocument; param["__SysObjectID"] = process.ObjectID; param["__SysETL"] = (process as ToolBase)?.Father.Name; param["__SysERROR"] = ex.Message; param["__SysTime"] = DateTime.Now.ToString(); ControlExtended.UIInvoke(() => { if (ConfigFile.GetConfig <DataMiningConfig>().IsAddErrorCollection) { if (errorCollection == null) { errorCollection = new DataCollection() { Name = errorLogName }; DataManager.AddDataCollection(errorCollection); } errorCollection?.ComputeData.Add(param); errorCollection?.OnPropertyChanged("Count"); } else { XLogSys.Print.Error(string.Format(GlobalHelper.Get("key_208"), process.Column, process.TypeName, ex)); } }); }
public object TransformData(IFreeDocument data) { var result = func(new List <IFreeDocument> { data.Clone() }).FirstOrDefault(); data.AddRange(result); return(null); }
public object TransformData(IFreeDocument data) { var result = func(new List<IFreeDocument> {data.Clone()}).FirstOrDefault(); data.AddRange(result); return null; }