RowReadHierarchical DirectoryRow(DirectoryInfo di) { var item = new RowReadHierarchical(); //DirectoryInfo di = new DirectoryInfo(FolderName); item.Values.Add("Name", di.Name); item.Values.Add("FullName", di.FullName); item.Values.Add("RowType", "folder"); item.Values.Add("CreationTimeUtc", di.CreationTimeUtc); item.Values.Add("LastAccessTimeUtc", di.LastAccessTimeUtc); item.Values.Add("LastWriteTimeUtc", di.LastWriteTimeUtc); return(item); }
IRowReceive[] FromSimpleJob(ISimpleJob sj) { var li = new List <IRowReceiveHierarchicalParent>(); for (int i = 0; i < sj.Receivers.Count; i++) { var item = sj.Receivers[i]; var newRow = new RowReadHierarchical(); newRow.Values.Add("Name", item.Name ?? item.GetType().Name); newRow.Values.Add("Type", item.GetType().Name); newRow.Values.Add("RowType", "Receiver"); li.Add(newRow);//TODO: Add parents! if (li.Count > 1) { newRow.Parent = li[li.Count - 2]; } } for (int i = 0; i < sj.FiltersAndTransformers.Count; i++) { var item = sj.FiltersAndTransformers[i]; var newRow = new RowReadHierarchical(); newRow.Values.Add("Name", item.Name ?? item.GetType().Name); newRow.Values.Add("Type", item.GetType().Name); newRow.Values.Add("RowType", "Filter_Transformer"); li.Add(newRow); if (li.Count > 1) { newRow.Parent = li[li.Count - 2]; } } for (int i = 0; i < sj.Senders.Count; i++) { var item = sj.Senders[i]; var newRow = new RowReadHierarchical(); newRow.Values.Add("Name", item.Name ?? item.GetType().Name); newRow.Values.Add("Type", item.GetType().Name); newRow.Values.Add("RowType", "Sender"); li.Add(newRow); if (li.Count > 1) { newRow.Parent = li[li.Count - 2]; } } return(li.ToArray()); }
IRowReceiveHierarchicalParent[] FromSimpleTree(SimpleTree st, IRowReceiveHierarchicalParent parent) { var li = new List <IRowReceiveHierarchicalParent>(); foreach (var node in st) { var item = node.Key; var newRow = new RowReadHierarchical(); newRow.Values.Add("Name", item.Name ?? item.GetType().Name); newRow.Values.Add("Type", item.GetType().Name); newRow.Parent = parent; li.Add(newRow); var childs = node.Childs; li.AddRange(FromSimpleTree(childs, newRow)); ISend send = item as ISend; if (send != null) { newRow.Values.Add("RowType", "Sender"); continue; } ITransform tr = item as ITransform; if (tr != null) { newRow.Values.Add("RowType", "Transformer"); continue; } IFilter fi = item as IFilter; if (fi != null) { newRow.Values.Add("RowType", "Filter"); continue; } IReceive r = item as IReceive; if (r != null) { newRow.Values.Add("RowType", "Receiver"); continue; } } return(li.ToArray()); }
private IRowReceive[] FromSimpleJobConditionalTransformers(SimpleJobConditionalTransformers sj) { var li = new List <IRowReceiveHierarchicalParent>(); for (int i = 0; i < sj.Receivers.Count; i++) { var item = sj.Receivers[i]; var newRow = new RowReadHierarchical(); newRow.Values.Add("Name", item.Name ?? item.GetType().Name); newRow.Values.Add("Type", item.GetType().Name); newRow.Values.Add("RowType", "Receiver"); li.Add(newRow); if (li.Count > 1) { newRow.Parent = li[li.Count - 2]; } } li.AddRange(FromSimpleTree(sj.association, li[li.Count - 1])); return(li.ToArray()); }
RowReadHierarchical[] Files(DirectoryInfo di, IRowReceive parent) { var ret = new List <RowReadHierarchical>(); foreach (var searchSplitPattern in SearchPattern.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { foreach (var file in di.EnumerateFiles(searchSplitPattern)) { var item = new RowReadHierarchical(); item.Values.Add("Name", file.Name); item.Values.Add("FullName", file.FullName); item.Values.Add("RowType", "file"); item.Values.Add("CreationTimeUtc", file.CreationTimeUtc); item.Values.Add("LastAccessTimeUtc", file.LastAccessTimeUtc); item.Values.Add("LastWriteTimeUtc", file.LastWriteTimeUtc); item.Parent = parent as IRowReceiveHierarchicalParent; ret.Add(item); } } return(ret.ToArray()); }