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); } }
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); } }