/// <summary> /// 递归填充 /// </summary> /// <param name="root"></param> /// <param name="detial"></param> /// <returns></returns> private PropertyNodeItem FillItems(IJsonTreeNode root, JsonEntityDetial detial) { PropertyNodeItem item = PropertyNodeItem.Default; item.DisplayName = root.DisplayName; item.JsonName = root.JsonNodeName; item.EntityName = root.DbName; item.MultiReleationShip = root.MultiRelated; item.HasChildren = root.ChildNodes.Count != 0; item.BuildJson = root.BuildSingleFile; item.Selectable = root.Selectable; item.HasCustomizedSql = root.Sql.HasCustomizeSQLString; item.CustomizedSql = root.Sql.CustomizeSQLString; item.CustomizedSqlParameters = root.Sql.Params?.ToString(); item.VirtualNode = root.IsSelectionParameter; item.IsExpanded = root.Parent == null; foreach (IJsonTreeNode n in root.ChildNodes.Values) { var i = FillItems(n, detial); i.Parent = item; item.Childs.Add(i); } return(item); }
/// <summary> /// 从选项建立新设置 /// </summary> /// <param name="root"></param> /// <param name="constr"></param> /// <returns></returns> private JsonEntityDetial BuildSetting(PropertyNodeItem root, String constr) { JsonEntityDetial detial = new JsonEntityDetial(); detial.DbConnectStr = constr; foreach (PropertyNodeItem i in root.Childs) { detial.roots.Add(BuildNode(i, null)); } return(detial); }
/// <summary> /// 将填充树载入View /// </summary> /// <param name="view"></param> /// <param name="detial"></param> private void LoadTreeView(TreeView view, JsonEntityDetial detial) { view.Items.Clear(); ObservableCollection <PropertyNodeItem> items = new ObservableCollection <PropertyNodeItem>(); items.Add(PropertyNodeItem.Default); items[0].DisplayName = "根节点"; foreach (IJsonTreeNode n in detial.roots) { var i = FillItems(n, detial); i.Parent = items[0]; items[0].Childs.Add(i); } view.ItemsSource = items; }
public JsonExportProcessor(DataBaseAccess dataBase, JsonEntityDetial jsonEntity, String[] systemArgs) { dbAccess = dataBase; systemParameters = systemArgs; }