Example #1
0
        public static SubGridRelationshipData ToSubGridRelationshipData(
            this Relationship relationship,
            Entity contextEntity,
            List <Entity> entities,
            Guid mainEntityId,
            string mainEntityRecordDisplayName)
        {
            var data = new SubGridRelationshipData();

            data.Relationship = relationship;
            data.MainEntityId = mainEntityId;
            data.MainEntityRecordDisplayName = mainEntityRecordDisplayName;
            var otherContextEntityLogicalName = contextEntity.LogicalName == relationship.MainEntity
                    ? relationship.RelatedEntity
                    : relationship.MainEntity;

            data.RelatedEntity            = entities.First(k => k.LogicalName == otherContextEntityLogicalName);
            data.MainEntityDisplayName    = GetEntityDisplayName(relationship.MainEntity, entities);
            data.RelatedEntityDisplayName = GetEntityDisplayName(relationship.RelatedEntity, entities);
            if (!relationship.IsManyToMany)
            {
                data.RelatedAttributeDisplayName =
                    entities.First(k => k.LogicalName == relationship.RelatedEntity)
                    .Attributes.First(k => k.LogicalName == relationship.RelatedAttribute).DisplayName;
            }
            else
            {
                data.IntersectionDisplayableEntity = relationship.MainEntity == contextEntity.LogicalName
                    ? GetEntityDisplayName(relationship.RelatedEntity, entities)
                    : GetEntityDisplayName(relationship.MainEntity, entities);
            }
            return(data);
        }
Example #2
0
 private void UpdatedSelectedEntityRelationship(SubGridRelationshipData data)
 {
     if (data != null)
     {
         DrmGridInputData = null;
         DrmGridInputData = new DrmGridInputData()
         {
             Entity               = data.RelatedEntity,
             FilterRelationship   = data.Relationship,
             FilterRelationshipId = data.MainEntityId,
             FilterRelationshipRecordDisplayName = GetRecordDisplayName(),
             GenericEventManager = GenericEventManager,
             GenericManager      = GenericManager,
             Relationships       = Relationships,
             WpfEventManager     = WpfEventManager,
         };
     }
 }