public void TryGetFilter() { #pragma warning disable CS8604 // Possible null reference argument. #pragma warning disable CS8602 // Dereference of a possibly null reference. var items = StateItem.All; ListCollectionView view = new(items); FilterPresenter? filterPresenter = FilterPresenter.Get(view); Assert.IsNotNull(filterPresenter); EnumFilterInitializer initializer = new(); EnumFilter <StateEnum>?filter = initializer.TryCreateFilter(filterPresenter, nameof(StateItem.State)) as EnumFilter <StateEnum>; Assert.IsNotNull(filter); Assert.IsFalse(filter.IsActive); Assert.AreSame(filterPresenter, filter.FilterPresenter); Assert.AreEqual(items.Count, view.Count); List <StateEnum> selected = new(new StateEnum[] { StateEnum.State1, StateEnum.State4 }); List <StateEnum> unselected = new(); filter.SelectedValuesChanged(addedItems: selected, removedItems: unselected); Assert.IsTrue(filter.IsActive); var filtered = FilterPresenterTest.GetCollection(view); Assert.AreEqual(selected.Count, filtered.Count); Assert.AreEqual(selected[0], ((StateItem)filtered[0]).State); Assert.AreEqual(selected[1], ((StateItem)filtered[1]).State); //filterPresenter.IsFilterActive = false; filtered = FilterPresenterTest.GetCollection(view); Assert.AreEqual(items.Count, filtered.Count); #pragma warning restore CS8602 // Dereference of a possibly null reference. #pragma warning restore CS8604 // Possible null reference argument. }
public bool GenerateOptionSet(OptionSetMetadataBase optionSetMetadata, IServiceProvider services) { if (EnumFilter.GenerateOptionSet(optionSetMetadata, services)) { OptionSetMetadata.Add(optionSetMetadata.MetadataId.GetValueOrDefault(), optionSetMetadata); } return(DefaultService.GenerateOptionSet(optionSetMetadata, services)); }
public ITableMulipleValueFilter <T, List <TEnum>, TEnum> AddFilter <TEnum>(Expression <Func <T, TEnum> > memberExpression) where TEnum : struct { if (!typeof(TEnum).IsEnum) { var nullFilter = new EnumFilter <T, TEnum>(); nullFilter.SetTableBuilder(this); return(nullFilter); } var filter = this.CreateFilter <EnumFilter <T, TEnum>, TEnum>(memberExpression); return(filter); }
public EnumFilterTests() { items = new[] { new GridModel(), new GridModel { Enum = TestEnum.First }, new GridModel { Enum = TestEnum.Second }, new GridModel { Enum = TestEnum.First, NEnum = TestEnum.Second }, new GridModel { Enum = TestEnum.Second, NEnum = TestEnum.First } }.AsQueryable(); nEnumExpression = (model) => model.NEnum; enumExpression = (model) => model.Enum; filter = new EnumFilter(); }
public async Task <PageModel <EnumModel> > GetEnumsAsync(int solutionId, int?pageIndex, int?pageSize, EnumFilter filter) { return(await _mediator.Send(new GetEnums() { SolutionId = solutionId, PageIndex = pageIndex, PageSize = pageSize, Filter = filter })); }
private static void ConfigureSwagger(HttpConfiguration config) { var globalParameterFilter = new GlobalParameterFilter( new Dictionary <string, Parameter>(StringComparer.InvariantCultureIgnoreCase) { { "SubscriptionIdParameter", new Parameter { name = "subscriptionId", @in = "path", required = true, type = "string", description = "Subscription ID" } }, { "ResourceGroupNameParameter", new Parameter { name = "resourceGroupName", @in = "path", required = true, type = "string", description = "Resource Group Name", vendorExtensions = new Dictionary <string, object> { { "x-ms-parameter-location", "method" } } } }, { "AccountNameParameter", new Parameter { name = "accountName", @in = "path", required = true, type = "string", description = "Account Name", vendorExtensions = new Dictionary <string, object> { { "x-ms-parameter-location", "method" } } } }, { "ChannelNameParameter", new Parameter { name = "channelName", @in = "path", required = true, type = "string", description = "Channel Name", vendorExtensions = new Dictionary <string, object> { { "x-ms-parameter-location", "method" } } } }, { "ApiVersionParameter", new Parameter { name = "api-version", @in = "query", required = true, type = "string", description = "API version" } } }); config.EnableSwagger(c => { c.PrettyPrint(); c.Schemes(new[] { "https" }); c.SingleApiVersion(ApiVersionStore.DefaultApiVersion, NameStore.ServiceTitle) .Description(NameStore.ServiceDescription); c.OAuth2("azure_auth") .AuthorizationUrl("https://login.microsoftonline.com/common/oauth2/authorize") .Flow("implicit") .Description("Azure Active Directory OAuth2 Flow") .Scopes(s => s.Add("user_impersonation", "impersonate your user account")); var commentFile = Path.Combine( AppDomain.CurrentDomain.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"); c.IncludeXmlComments(commentFile); var enumFilter = new EnumFilter(commentFile); c.SchemaFilter <SubclassFilter>(); c.SchemaFilter <AzureResourceFilter>(); c.SchemaFilter <ClientFlattenFilter>(); c.SchemaFilter(() => enumFilter); c.SchemaFilter <MutabilityFilter>(); c.SchemaFilter <ReadOnlyFilter>(); c.SchemaFilter <ExternalFilter>(); c.OperationFilter(() => globalParameterFilter); c.OperationFilter <DefaultResponseFilter>(); c.OperationFilter <ExampleFilter>(); c.OperationFilter <NonPageableFilter>(); c.OperationFilter <DocumentFilter>(); c.DocumentFilter(() => enumFilter); c.DocumentFilter <SubclassFilter>(); c.DocumentFilter(() => globalParameterFilter); c.DocumentFilter <DocumentFilter>(); }) .EnableSwaggerUi(); }