/// <summary> /// Handles a level. /// </summary> /// <param name="dc">User data category name</param> /// <param name="group">concept|language|term</param> private void handleGrp(string dc, string group) { if (group != "concept" && group != "language" && group != "term") { throw (new InvalidLevelException()); } TemplateSet ts; //Handle data category with split contents and picklists if (mappingDict.hasPicklist(dc) && mappingDict.hasSplitContents(dc)) { ts = createTemplateSet(dc, true); (List <ValueGroup> vgs, List <Teasp> teasps) = handleSplitContents(dc, true); ts.addValueGroups(vgs); ts.addSpecialTeasps(teasps); } //Handle single tbx datcat with picklists else if (mappingDict.hasPicklist(dc) && !mappingDict.hasSplitContents(dc)) { string tbx_dc = getTBXdc(dc); ts = createTemplateSet(dc, tbx_dc); } //Handle data category with split contents (no picklists) else if (!mappingDict.hasPicklist(dc) && mappingDict.hasSplitContents(dc)) { ts = createTemplateSet(dc, true); (List <ValueGroup> vgs, List <Teasp> teasps) = handleSplitContents(dc); ts.addValueGroups(vgs); ts.addSpecialTeasps(teasps); } //Handle all simple cases: no multiple tbx datcats, no picklists else { ts = createTemplateSet(dc); } fullMapping.catMap[group].Add(dc, ts); }