Exemple #1
0
        public void Convert(IUnitOfWork unitOfWork, BaseEntity sourceEntity, BaseDto dto, PropertyInfo sourcePropertyInfo, ReferenceAttribute referenceAttribute, ReferenceString referenceString)
        {
            PropertyInfo targetProperty = sourceEntity.GetType().GetProperty(referenceAttribute.RefencedPropertyName);
            // TODO ???
            //if(referenceString == null || referenceString.Value == null)
            //{
            //    return;
            //}
            List <Guid> referencedIds = new List <Guid>();

            if (referenceString != null && referenceString.Value != null)
            {
                referencedIds = referenceString.GetIds();
            }

            ICollection <U> referencedEntities = (ICollection <U>)targetProperty.GetValue(sourceEntity);

            if (IsReferenciesCreated(referencedIds, referencedEntities))
            {
                CreateMultiReferences(unitOfWork, sourceEntity, targetProperty, referencedIds, referencedEntities);
            }
            else
            {
                UpdateMultiReference(unitOfWork, sourceEntity, targetProperty, referencedIds, referencedEntities);
            }
        }
Exemple #2
0
        public void Convert(IUnitOfWork unitOfWork, BaseEntity sourceEntity, BaseDto dto, PropertyInfo sourcePropertyInfo, ReferenceAttribute referenceAttribute, ReferenceString referenceString)
        {
            PropertyInfo    targetProperty     = sourceEntity.GetType().GetProperty(referenceAttribute.RefencedPropertyName);
            List <Guid>     referencedIds      = referenceString.GetIds();
            ICollection <U> referencedEntities = (ICollection <U>)targetProperty.GetValue(sourceEntity);

            if (IsReferenciesCreated(referencedIds, referencedEntities))
            {
                CreateMultiReferences(unitOfWork, sourceEntity, targetProperty, referencedIds, referencedEntities);
            }
            else
            {
                UpdateMultiReference(unitOfWork, sourceEntity, targetProperty, referencedIds, referencedEntities);
            }
        }