public static bool Delete(IContextRepository repository,
                           IMapper mapper,
                           FilterLambdaOperatorParameters filterExpression)
 => repository.DeleteAsync <TModel, TData>
 (
     GetFilter(mapper.MapToOperator(filterExpression))
 ).Result;
        public void CanCreateSerachByIdExpression()
        {
            //arrange
            ItemFilterGroupDescriptor itemFilterGroupDescriptor = new ItemFilterGroupDescriptor
            {
                Filters = new List <ItemFilterDescriptorBase>
                {
                    new MemberSourceFilterDescriptor
                    {
                        Field        = "UserId",
                        MemberSource = "UserId",
                        Operator     = "eq",
                        Type         = "System.Int32"
                    }
                }
            };

            //act
            FilterLambdaOperatorParameters filterLambdaOperatorDescriptor = serviceProvider.GetRequiredService <IGetItemFilterBuilder>().CreateFilter
                                                                            (
                itemFilterGroupDescriptor,
                typeof(ResidencyModel),
                residency
                                                                            );

            FilterLambdaOperator filterLambdaOperator        = (FilterLambdaOperator)serviceProvider.GetRequiredService <IMapper>().MapToOperator(filterLambdaOperatorDescriptor);
            Expression <Func <ResidencyModel, bool> > filter = (Expression <Func <ResidencyModel, bool> >)filterLambdaOperator.Build();

            //assert
            AssertFilterStringIsCorrect
            (
                filter,
                "f => (f.UserId == 3)"
            );
        }
        public void CanCreateSerachByIdAndFirstNameAndLastNameExpression()
        {
            //arrange
            ItemFilterGroupDescriptor itemFilterGroupDescriptor = new ItemFilterGroupDescriptor
            {
                Filters = new List <ItemFilterDescriptorBase>
                {
                    new MemberSourceFilterDescriptor
                    {
                        Field        = "UserId",
                        MemberSource = "UserId",
                        Operator     = "eq",
                        Type         = "System.Int32"
                    },
                    new ItemFilterGroupDescriptor
                    {
                        Filters = new List <ItemFilterDescriptorBase>
                        {
                            new MemberSourceFilterDescriptor
                            {
                                Field        = "CitizenshipStatus",
                                MemberSource = "CitizenshipStatus",
                                Operator     = "eq",
                                Type         = "System.String"
                            },
                            new MemberSourceFilterDescriptor
                            {
                                Field        = "ResidentState",
                                MemberSource = "ResidentState",
                                Operator     = "eq",
                                Type         = "System.String"
                            }
                        },
                        Logic = "and"
                    }
                },
                Logic = "and"
            };

            //act
            FilterLambdaOperatorParameters filterLambdaOperatorDescriptor = serviceProvider.GetRequiredService <IGetItemFilterBuilder>().CreateFilter
                                                                            (
                itemFilterGroupDescriptor,
                typeof(ResidencyModel),
                residency
                                                                            );

            FilterLambdaOperator filterLambdaOperator        = (FilterLambdaOperator)serviceProvider.GetRequiredService <IMapper>().MapToOperator(filterLambdaOperatorDescriptor);
            Expression <Func <ResidencyModel, bool> > filter = (Expression <Func <ResidencyModel, bool> >)filterLambdaOperator.Build();

            //assert
            AssertFilterStringIsCorrect
            (
                filter,
                "f => ((f.UserId == 3) AndAlso ((f.CitizenshipStatus == \"US\") AndAlso (f.ResidentState == \"OH\")))"
            );
        }
        public void CanCreateSerachByIdAndFirstNameAndLastNameExpression()
        {
            //arrange
            ItemFilterGroupDescriptor itemFilterGroupDescriptor = new ItemFilterGroupDescriptor
            {
                Filters = new List <ItemFilterDescriptorBase>
                {
                    new MemberSourceFilterDescriptor
                    {
                        Field        = "ID",
                        MemberSource = "ID",
                        Operator     = "eq",
                        Type         = "System.Int32"
                    },
                    new ItemFilterGroupDescriptor
                    {
                        Filters = new List <ItemFilterDescriptorBase>
                        {
                            new MemberSourceFilterDescriptor
                            {
                                Field        = "FirstName",
                                MemberSource = "FirstName",
                                Operator     = "eq",
                                Type         = "System.String"
                            },
                            new MemberSourceFilterDescriptor
                            {
                                Field        = "LastName",
                                MemberSource = "LastName",
                                Operator     = "eq",
                                Type         = "System.String"
                            }
                        },
                        Logic = "and"
                    }
                },
                Logic = "and"
            };

            //act
            FilterLambdaOperatorParameters filterLambdaOperatorDescriptor = serviceProvider.GetRequiredService <IGetItemFilterBuilder>().CreateFilter
                                                                            (
                itemFilterGroupDescriptor,
                typeof(InstructorModel),
                inststructor
                                                                            );

            FilterLambdaOperator filterLambdaOperator         = (FilterLambdaOperator)serviceProvider.GetRequiredService <IMapper>().MapToOperator(filterLambdaOperatorDescriptor);
            Expression <Func <InstructorModel, bool> > filter = (Expression <Func <InstructorModel, bool> >)filterLambdaOperator.Build();

            //assert
            AssertFilterStringIsCorrect
            (
                filter,
                "f => ((f.ID == 3) AndAlso ((f.FirstName == \"John\") AndAlso (f.LastName == \"Smith\")))"
            );
        }
Esempio n. 5
0
        public DirectiveParameters
        (
            [Comments("Details about the directive's function and its arguments.")]
            DirectiveDefinitionParameters definition,

            [Comments("Lambda expression which dynamically activates and desctivates the dependent function.")]
            FilterLambdaOperatorParameters condition
        )
        {
            Definition = definition;
            Condition  = condition;
        }
        public FormRequestDetailsParameters
        (
            [Comments("API end point to get the entity.")]
            [NameValue(AttributeNames.DEFAULTVALUE, "api/Entity/GetEntity")]
            string getUrl,

            [Comments("API end point to add the entity.")]
            [NameValue(AttributeNames.DEFAULTVALUE, "api/Student/Save")]
            string addUrl,

            [Comments("API end point to update the entity.")]
            [NameValue(AttributeNames.DEFAULTVALUE, "api/Student/Save")]
            string updateUrl,

            [Comments("API end point to update the entity.")]
            [NameValue(AttributeNames.DEFAULTVALUE, "api/Student/Delete")]
            string deleteUrl,

            [Comments("The model type for the object being requested. Click the function button and use the configured GetType function.  Use the Assembly qualified type name for the type argument.")]
            Type modelType,

            [Comments("The data type for the object being requested. Click the function button and use the configured GetType function.  Use the Assembly qualified type name for the type argument.")]
            Type dataType,

            [Comments("Defines the filter for the single object being edited - only applicable when the edit type is update.")]
            FilterLambdaOperatorParameters filter = null,

            [Comments("Defines and navigation properties to include in the edit model")]
            SelectExpandDefinitionParameters selectExpandDefinition = null
        )
        {
            GetUrl    = getUrl;
            AddUrl    = addUrl;
            UpdateUrl = updateUrl;
            DeleteUrl = deleteUrl;
            ModelType = modelType;
            DataType  = dataType;
            Filter    = filter;
            SelectExpandDefinition = selectExpandDefinition;
        }
Esempio n. 7
0
 public SelectExpandItemFilterParameters(FilterLambdaOperatorParameters filterLambdaOperator)
 {
     FilterLambdaOperator = filterLambdaOperator;
 }
Esempio n. 8
0
 public DummyOperatorParameterConstructor
 (
     AddBinaryOperatorParameters addBinaryOperatorParameter,
     AllOperatorParameters allOperatorParameter,
     AndBinaryOperatorParameters andBinaryOperatorParameter,
     AnyOperatorParameters anyOperatorParameter,
     AsEnumerableOperatorParameters asEnumerableOperatorParameters,
     AsQueryableOperatorParameters asQueryableOperatorParameter,
     AverageOperatorParameters averageOperatorParameter,
     BinaryOperatorParameters binaryOperatorParameter,
     CastOperatorParameters castOperatorParameter,
     CeilingOperatorParameters ceilingOperatorParameter,
     CollectionCastOperatorParameters collectionCastOperatorParameter,
     CollectionConstantOperatorParameters collectionConstantOperatorParameter,
     ConcatOperatorParameters concatOperatorParameter,
     ConstantOperatorParameters constantOperatorParameter,
     ContainsOperatorParameters containsOperatorParameter,
     ConvertCharArrayToStringOperatorParameters convertCharArrayToStringOperatorParameter,
     ConvertOperatorParameters convertOperatorParameter,
     ConvertToEnumOperatorParameters convertToEnumOperatorParameter,
     ConvertToNullableUnderlyingValueOperatorParameters convertToNullableUnderlyingValueOperatorParameter,
     ConvertToNumericDateOperatorParameters convertToNumericDateOperatorParameter,
     ConvertToNumericTimeOperatorParameters convertToNumericTimeOperatorParameter,
     ConvertToStringOperatorParameters convertToStringOperatorParameter,
     CountOperatorParameters countOperatorParameter,
     CustomMethodOperatorParameters customMethodOperatorParameter,
     DateOperatorParameters dateOperatorParameter,
     DayOperatorParameters dayOperatorParameter,
     DistinctOperatorParameters distinctOperatorParameter,
     DivideBinaryOperatorParameters divideBinaryOperatorParameter,
     EndsWithOperatorParameters endsWithOperatorParameter,
     EqualsBinaryOperatorParameters equalsBinaryOperatorParameter,
     FilterLambdaOperatorParameters filterLambdaOperatorParameter,
     FirstOperatorParameters firstOperatorParameter,
     FirstOrDefaultOperatorParameters firstOrDefaultOperatorParameter,
     FloorOperatorParameters floorOperatorParameter,
     FractionalSecondsOperatorParameters fractionalSecondsOperatorParameter,
     GreaterThanBinaryOperatorParameters greaterThanBinaryOperatorParameter,
     GreaterThanOrEqualsBinaryOperatorParameters greaterThanOrEqualsBinaryOperatorParameter,
     GroupByOperatorParameters groupByOperatorParameter,
     HasOperatorParameters hasOperatorParameter,
     HourOperatorParameters hourOperatorParameter,
     IEnumerableSelectorLambdaOperatorParameters enumerableSelectorLambdaOperatorParameter,
     InOperatorParameters inOperatorParameter,
     IndexOfOperatorParameters indexOfOperatorParameter,
     IsOfOperatorParameters isOfOperatorParameter,
     LastOperatorParameters lastOperatorParameter,
     LastOrDefaultOperatorParameters lastOrDefaultOperatorParameter,
     LengthOperatorParameters lengthOperatorParameter,
     LessThanBinaryOperatorParameters lessThanBinaryOperatorParameter,
     LessThanOrEqualsBinaryOperatorParameters lessThanOrEqualsBinaryOperatorParameter,
     MaxDateTimeOperatorParameters maxDateTimeOperatorParameter,
     MaxOperatorParameters maxOperatorParameter,
     MemberInitOperatorParameters memberInitOperatorParameter,
     MemberSelectorOperatorParameters memberSelectorOperatorParameter,
     MinDateTimeOperatorParameters minDateTimeOperatorParameter,
     MinOperatorParameters minOperatorParameter,
     MinuteOperatorParameters minuteOperatorParameter,
     ModuloBinaryOperatorParameters moduloBinaryOperatorParameter,
     MonthOperatorParameters monthOperatorParameter,
     MultiplyBinaryOperatorParameters multiplyBinaryOperatorParameter,
     NegateOperatorParameters negateOperatorParameter,
     NotOperatorParameters notOperatorParameter,
     NotEqualsBinaryOperatorParameters notEqualsBinaryOperatorParameter,
     NowDateTimeOperatorParameters nowDateTimeOperatorParameter,
     OrBinaryOperatorParameters orBinaryOperatorParameter,
     OrderByOperatorParameters orderByOperatorParameter,
     ParameterOperatorParameters parameterOperatorParameter,
     RoundOperatorParameters roundOperatorParameter,
     SecondOperatorParameters secondOperatorParameter,
     SelectOperatorParameters selectOperatorParameter,
     SelectManyOperatorParameters selectManyOperatorParameter,
     SelectorLambdaOperatorParameters selectorLambdaOperatorParameter,
     SingleOperatorParameters singleOperatorParameter,
     SingleOrDefaultOperatorParameters singleOrDefaultOperatorParameter,
     SkipOperatorParameters skipOperatorParameter,
     StartsWithOperatorParameters startsWithOperatorParameter,
     SubstringOperatorParameters substringOperatorParameter,
     SubtractBinaryOperatorParameters subtractBinaryOperatorParameter,
     SumOperatorParameters sumOperatorParameter,
     TakeOperatorParameters takeOperatorParameter,
     ThenByOperatorParameters thenByOperatorParameter,
     TimeOperatorParameters timeOperatorParameter,
     ToListOperatorParameters toListOperatorParameter,
     ToLowerOperatorParameters toLowerOperatorParameter,
     TotalOffsetMinutesOperatorParameters totalOffsetMinutesOperatorParameter,
     TotalSecondsOperatorParameters totalSecondsOperatorParameter,
     ToUpperOperatorParameters toUpperOperatorParameter,
     TrimOperatorParameters trimOperatorParameter,
     WhereOperatorParameters whereOperatorParameter,
     YearOperatorParameters yearOperatorParameter
 )
 {
 }