コード例 #1
0
 public void ApplyConfigurations(
     ITypeReference typeReference,
     ISortEnumTypeDescriptor descriptor)
 {
     if (_enumTypeConfigs.TryGetValue(
             typeReference,
             out List <ConfigureSortEnumType>?configurations))
     {
         foreach (ConfigureSortEnumType configure in configurations)
         {
             configure(descriptor);
         }
     }
 }
コード例 #2
0
        private void ConfigureSortEnumType(
            ITypeDiscoveryContext discoveryContext,
            SortEnumTypeDefinition definition)
        {
            ISortConvention convention = GetConvention(
                discoveryContext.DescriptorContext,
                discoveryContext.Scope);

            ISortEnumTypeDescriptor descriptor = SortEnumTypeDescriptor.From(
                discoveryContext.DescriptorContext,
                definition);

            SchemaTypeReference typeReference = TypeReference.Create(
                discoveryContext.Type,
                discoveryContext.Scope);

            convention.ApplyConfigurations(typeReference, descriptor);

            foreach (var enumValue in definition.Values)
            {
                if (enumValue is SortEnumValueDefinition sortEnumValueDefinition)
                {
                    if (convention.TryGetOperationHandler(
                            discoveryContext,
                            definition,
                            sortEnumValueDefinition,
                            out ISortOperationHandler? handler))
                    {
                        sortEnumValueDefinition.Handler = handler;
                    }
                    else
                    {
                        throw ThrowHelper.SortInterceptor_NoOperationHandlerFoundForValue(
                                  definition,
                                  sortEnumValueDefinition);
                    }
                }
            }
        }
コード例 #3
0
 protected override void Configure(ISortEnumTypeDescriptor descriptor)
 {
     descriptor.Operation(DefaultSortOperations.Ascending);
 }
コード例 #4
0
ファイル: SortEnumType.cs プロジェクト: anadale/hotchocolate
 protected virtual void Configure(ISortEnumTypeDescriptor descriptor)
 {
 }