/// <summary> /// Getting group list by sharing parameter file path. /// </summary> /// <returns></returns> public static List <GroupParameter> GetGroups(string paramPath) { if (paramPath == null) { throw new ArgumentNullException(nameof(paramPath)); } var texts = File.ReadLines(paramPath).ToList(); var groups = new List <GroupParameter>(); var paras = new List <ElementParameter>(); foreach (var text in texts) { var items = text.Split('\t'); if (items[0] == "GROUP") { groups.Add(new GroupParameter(items[1], items[2])); } if (items[0] != "PARAM") { continue; } var param = new ElementParameter { Guid = items[1], ParamName = items[2], DataType = items[3], DataCatetory = items[4], GroupId = items[5], Visible = Convert.ToBoolean(Convert.ToInt32(items[6])), Description = items[7], CanEdit = Convert.ToBoolean(Convert.ToInt32(items[8])) }; paras.Add(param); } foreach (var group in groups) { foreach (var para in paras) { if (para.GroupId == group.Id) { group.Params.Add(para); } } } return(groups); }
/// <summary> /// Getting group list by sharing parameter file path. /// </summary> /// <returns></returns> public static List <GroupParameter> GetGroups(string paramPath) { if (paramPath is null) { throw new ArgumentNullException(nameof(paramPath)); } var texts = File.ReadLines(paramPath).ToList(); var results = new List <GroupParameter>(); var elmParms = new List <ElementParameter>(); foreach (var text in texts) { var items = text.Split('\t'); if (items[0] == "GROUP") { results.Add(new GroupParameter(items[1], items[2])); } if (items[0] != "PARAM") { continue; } var param = new ElementParameter { Guid = items[1], ParamName = items[2], DataType = items[3], DataCatetory = items[4], GroupId = items[5], Visible = Convert.ToBoolean(Convert.ToInt32(items[6])), Description = items[7], CanEdit = Convert.ToBoolean(Convert.ToInt32(items[8])) }; elmParms.Add(param); } results.ForEach(f => f.Params.AddRange(elmParms.Where(w => w.GroupId == f.Id))); return(results); }