Example #1
0
        public List <SCItem> Convert(SCItem scItem, Guid destParentId)
        {
            _itemMetadataTemplate = _metadataProvider.GetItemMetadataByTemplateId(scItem.TemplateID);
            if (_itemMetadataTemplate.sourceMappingFieldId != null && _itemMetadataTemplate.sourceMappingFieldId != Guid.Empty)
            {
                var sourceMappingFieldValue = scItem.Fields
                                              .FirstOrDefault(f => f.FieldId == _itemMetadataTemplate.sourceMappingFieldId)?.Value;
                var mappedMetadataTemplate = _metadataProvider.GetItemMetadataBySourceMappingFieldValue(sourceMappingFieldValue);
                if (mappedMetadataTemplate != null)
                {
                    _itemMetadataTemplate = mappedMetadataTemplate;
                }
                else
                {
                    // Add record in conversion analysis
                    _conversionReporter.AddUnmappedFormFieldItem(scItem.ID, sourceMappingFieldValue);
                }
            }

            List <SCItem> destItems = ConvertItemAndFields(scItem, destParentId);

            return(destItems);
        }