public void AddFilter(string name, string value, Type type) { if (Filters == null) { Filters = new FilterCollectionExpression <TIn>(new List <Filter>()); } Filters.Add(name, value, type); }
public Criteria(string path, IQueryCollection query) { Path = path; Paginate = PaginateExpression.Extract(query); Slice = SliceExpression.Extract(query); FullTextSearch = FullTextSearchExpression <TIn> .Extract(query); Sort = OrderByExpression <TIn> .Extract(query); Filters = FilterCollectionExpression <TIn> .Extract(query); Operators = OperatorCollectionExpression <TIn> .Extract(query); Embeds = EmbedCollectionExpression <TIn> .Extract(query); }
public void FilterCollectionExpression_Filter_Empty() { //Arrange var values = new Dictionary <string, StringValues> { { "names", new StringValues("Alejandro") }, { "lastName", new StringValues("Molines") } }; var query = new QueryCollection(values); //Act var filterCollection = FilterCollectionExpression <UserMetaDataCriteria> .Extract(query); //Assert filterCollection.Should().BeNull(); }
public void FilterCollectionExpression_With_Multiple_Values_And_Same_Names() { //Arrange var values = new Dictionary <string, StringValues> { { "id", new StringValues(new [] { "1", "2", "4" }) } }; var query = new QueryCollection(values); //Act var filterCollection = FilterCollectionExpression <UserMetaDataCriteria> .Extract(query); var text = filterCollection.ToString(); //Assert text.Should().Be("id=1&id=2&id=4"); filterCollection.Filters.Should() .NotBeEmpty().And .HaveCount(3).And .ContainItemsAssignableTo <Filter>().And .SatisfyRespectively( first => { first.Name.Should().Be("id"); first.Value.Should().Be("1"); first.Type.Should().Be <int>(); }, second => { second.Name.Should().Be("id"); second.Value.Should().Be("2"); second.Type.Should().Be <int>(); }, third => { third.Name.Should().Be("id"); third.Value.Should().Be("4"); third.Type.Should().Be <int>(); }); }
public void FilterCollectionExpression_With_Multiple_Values() { //Arrange var values = new Dictionary <string, StringValues> { { "name", new StringValues("Alejandro") }, { "lastName", new StringValues("Molines") } }; var query = new QueryCollection(values); //Act var filterCollection = FilterCollectionExpression <UserMetaDataCriteria> .Extract(query); var text = filterCollection.ToString(); //Assert text.Should().Be("name=Alejandro&lastName=Molines"); filterCollection.Filters.Should().HaveCount(2); }