Пример #1
0
            public override void Handle(ExpandedNavigationSelectItem item)
            {
                var navigationSegment = (NavigationPropertySegment)item.PathToNavigationProperty.LastSegment;

                if (IsPropertyDefineInType(navigationSegment.NavigationProperty))
                {
                    if (!NavigationProperties.Contains(navigationSegment.NavigationProperty))
                    {
                        NavigationProperties.Add(navigationSegment.NavigationProperty);
                    }
                }
                else
                {
                    Handle(item.SelectAndExpand);
                }
            }
Пример #2
0
 public override void Handle(PathSelectItem item)
 {
     if (item.SelectedPath.LastSegment is NavigationPropertySegment navigationSegment)
     {
         if (IsPropertyDefineInType(navigationSegment.NavigationProperty) &&
             !NavigationProperties.Contains(navigationSegment.NavigationProperty))
         {
             NavigationProperties.Add(navigationSegment.NavigationProperty);
         }
     }
     else if (item.SelectedPath.LastSegment is PropertySegment propertySegment)
     {
         if (IsPropertyDefineInType(propertySegment.Property))
         {
             StructuralProperties.Add(propertySegment.Property);
         }
     }
     else
     {
         throw new InvalidOperationException(item.SelectedPath.LastSegment.GetType().Name + " not supported");
     }
 }