/// <summary> /// Method for creating of list of value groups and their corresponding special teasps. /// </summary> /// <param name="dc">user data category</param> /// <returns>List of Value Groups</returns> private (List <ValueGroup>, List <Teasp>) handleSplitContents(string dc, bool hasPicklist = false) { TBXContentMap cm = mappingDict.getTBXContentMap(dc); string[] tbx_keys = Methods.getKeyArray(tbx_picklists.Keys); List <ValueGroup> vgs = new List <ValueGroup>(); List <Teasp> teasps = new List <Teasp>(); foreach (string tbx_dc in mappingDict.getTBXMappingList(dc)) { if (Methods.inArray(ref tbx_keys, tbx_dc)) { Teasp teasp = new Teasp(); (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc); if (hasPicklist) { teasp.setAll(target, eltAtt, mappingDict.getPicklistMap(dc)); } else { teasp.setAll(target, eltAtt); } ValueGroup vg = new ValueGroup(); foreach (string content in cm.Keys) { if (cm[content] == tbx_dc) { vg.Add(content); } } vgs.Add(vg); teasps.Add(teasp); } else { Teasp teasp = new Teasp(); (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc); teasp.setAll(target, eltAtt); ValueGroup vg = new ValueGroup(); foreach (string content in cm.Keys) { if (cm[content] == tbx_dc) { vg.Add(content); } } vgs.Add(vg); teasps.Add(teasp); } } return(vgs, teasps); }
/// <summary> /// Create a Template Set with Picklist Values /// </summary> /// <param name="user_dc">User data category name</param> /// <param name="tbx_dc">User data category name</param> /// <returns>Template Set with Picklist values</returns> private TemplateSet createTemplateSet(string user_dc, string tbx_dc) { (string target, string eltAtt) = getEltTgtEltAtt(tbx_dc); TemplateSet ts = new TemplateSet(); Dictionary <string, string> sub = new Dictionary <string, string>(); TBXContentMap cm = mappingDict.getTBXContentMap(user_dc); PicklistMap pm = mappingDict.getPicklistMap(user_dc); foreach (string content in cm?.Keys) { if (cm[content] == tbx_dc) { sub.Add(content, pm[content]); } } ((ts[0] as KeyList)[0] as Teasp).setAll(target, eltAtt, sub); return(ts); }