private void SetAutoParentMapping(List<FieldMappingInfo> fieldMappingList, FieldMappingInfo selectedChildFieldMappingItem)
        {
            string currentItemText = selectedChildFieldMappingItem.SourceFieldFullName;

            foreach (FieldMappingInfo fieldMappingItem in fieldMappingList)
            {
                if (fieldMappingItem.TargetField != null && fieldMappingItem.TargetField == selectedChildFieldMappingItem.TargetField.Parent)
                {
                    if (currentItemText == "< new >")
                        fieldMappingItem.SourceFieldFullName = "< new >";

                    this.SetAutoParentMapping(fieldMappingList, fieldMappingItem);
                }
            }
        }
        private void SetAutoChildrenMapping(List<FieldMappingInfo> fieldMappingList, FieldMappingInfo selectedParentFieldMappingItem, List<FieldInfo> sourceSchemaFields, string selectedParentText)
        {
            selectedParentFieldMappingItem.SourceFieldFullName = selectedParentText;
            FieldInfo selectedParentSourceField = selectedParentFieldMappingItem.SourceField;
            string parentPath = selectedParentSourceField.GetFieldNamePath();

            foreach (FieldMappingInfo fieldMappingItem in fieldMappingList)
            {
                if (fieldMappingItem.TargetField != null && fieldMappingItem.TargetField.Parent == selectedParentFieldMappingItem.TargetField)
                {
                    string sourceFieldFullName = fieldMappingItem.TargetField.GetFieldFullName(false) + string.Format(" | ({0})", (parentPath + "/" + fieldMappingItem.TargetField.Field.Name).Trim('/'));
                    if (sourceSchemaFields.All(x => x.GetFieldFullName().Trim() != sourceFieldFullName.Trim()))
                    {
                        sourceFieldFullName = "< ignore >";
                    }
                    fieldMappingItem.SourceFieldFullName = sourceFieldFullName;

                    this.SetAutoChildrenMapping(fieldMappingList, fieldMappingItem, sourceSchemaFields, fieldMappingItem.SourceFieldFullName);
                }
            }
        }