private List<string> SetComplexListValues(Business.ManagedItem managedItem, string complexListName, DataTable dtExcelData, DataRow row, bool firstRow)
        {
            List<string> errors = new List<string>();

            Business.ComplexList complexList = managedItem.FindComplexList(complexListName) as Business.ComplexList;
            if (complexList != null)
            {
                try
                {
                    if (firstRow)
                        complexList.Clear();

                    Dictionary<string /*FieldName*/, string /*FieldValue*/> fieldValues = new Dictionary<string, string>();

                    foreach (DataColumn col in dtExcelData.Columns)
                    {
                        if (SkipColumn(col.ColumnName))
                            continue;

                        if (fieldValues.ContainsKey(col.ColumnName))
                            throw new Exception(string.Format("Field {0} is repeated", col.ColumnName));
                        fieldValues.Add(col.ColumnName, row[col.ColumnName].ToString());
                    }

                    complexList.Load(fieldValues);
                }
                catch (Exception ex)
                {
                    errors.Add(string.Format("Load of complex list {0} threw exception: {1}.", complexList.Name, ex.Message));
                }
            }
            else
            {
                errors.Add(string.Format("Unable to find complex list {0}.", complexListName));
            }

            if (errors.Count == 0)
                managedItem.Update(false, Business.Retro.AuditType.Saved);

            return errors;
        }
 private static void NullOutTerm(Business.ManagedItem managedItem, List<string> undefinedColumns, DataColumn col, Business.Term term)
 {
     if (term != null)
     {
         term.Clear();
     }
     else
     {
         Business.Term complexList = managedItem.FindComplexList(col.ColumnName);
         if (complexList != null)
         {
             complexList.Clear();
         }
         else
         {
             undefinedColumns.Add(string.Format("'{0}'", col.ColumnName));
         }
     }
 }