/// <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 (Array.Exists(tbx_keys, item => item == 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); }