Skip to content
This repository has been archived by the owner on Jun 16, 2024. It is now read-only.

AboveOrEqual in RetrieveMultiple is not implemented #287

Open
slushpuppy-dev opened this issue Feb 27, 2018 · 4 comments
Open

AboveOrEqual in RetrieveMultiple is not implemented #287

slushpuppy-dev opened this issue Feb 27, 2018 · 4 comments

Comments

@slushpuppy-dev
Copy link

FakeXrmEasy.PullRequestException: 'Exception: Operator AboveOrEqual not yet implemented for condition expression. This functionality is not available yet. Please consider contributing to the following Git project https://github.com/jordimontana82/fake-xrm-easy by cloning the repository and issuing a pull request.'

FakeXrmEasy.PullRequestException
HResult=0x80131500
Message=Exception: Operator AboveOrEqual not yet implemented for condition expression. This functionality is not available yet. Please consider contributing to the following Git project https://github.com/jordimontana82/fake-xrm-easy by cloning the repository and issuing a pull request.
Source=FakeXrmEasy
StackTrace:
at FakeXrmEasy.XrmFakedContext.TranslateConditionExpression(QueryExpression qe, XrmFakedContext context, TypedConditionExpression c, ParameterExpression entity)
at FakeXrmEasy.XrmFakedContext.TranslateMultipleConditionExpressions(QueryExpression qe, XrmFakedContext context, String sEntityName, List1 conditions, LogicalOperator op, ParameterExpression entity, Boolean bIsOuter) at FakeXrmEasy.XrmFakedContext.TranslateFilterExpressionToExpression(QueryExpression qe, XrmFakedContext context, String sEntityName, FilterExpression fe, ParameterExpression entity, Boolean bIsOuter) at FakeXrmEasy.XrmFakedContext.TranslateQueryExpressionFiltersToExpression(XrmFakedContext context, QueryExpression qe, ParameterExpression entity) at FakeXrmEasy.XrmFakedContext.TranslateQueryExpressionToLinq(XrmFakedContext context, QueryExpression qe) at FakeXrmEasy.FakeMessageExecutors.RetrieveMultipleRequestExecutor.Execute(OrganizationRequest req, XrmFakedContext ctx) at FakeXrmEasy.XrmFakedContext.<>c__DisplayClass131_0.<FakeRetrieveMultiple>b__0(QueryBase req) at FakeItEasy.ReturnValueConfigurationExtensions.<>c__DisplayClass5_02.b__0(IFakeObjectCall call)
at FakeItEasy.Configuration.RuleBuilder.ReturnValueConfiguration1.<>c__DisplayClass16_0.<ReturnsLazily>b__0(IInterceptedFakeObjectCall x) at FakeItEasy.Configuration.BuildableCallRule.Apply(IInterceptedFakeObjectCall fakeObjectCall) at FakeItEasy.Core.FakeManager.ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall) at FakeItEasy.Core.FakeManager.FakeItEasy.Core.IFakeCallProcessor.Process(IInterceptedFakeObjectCall fakeObjectCall) at FakeItEasy.Creation.CastleDynamicProxy.CastleDynamicProxyGenerator.ProxyInterceptor.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.ObjectProxy_5.RetrieveMultiple(QueryBase query) at CRMPAG.DFL.Systemuser.helper.GetHierarchicalOrganisation() in C:\Users\abachert\Source\Workspaces\DFL\Crm 2016\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\helper.cs:line 38 at CRMPAG.DFL.Systemuser.OnChangeOrganisationUpdateSystemuser.ExecuteCrmPlugin(LocalPluginContext localContext) in C:\Users\abachert\Source\Workspaces\DFL\Crm 2016\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\OnChangeOrganisationUpdateSystemuser.cs:line 73 at CRMPAG.DFL.Systemuser.PluginBase.Execute(IServiceProvider serviceProvider) in C:\Users\abachert\Source\Workspaces\DFL\Crm 2016\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\PluginBase.cs:line 159 at FakeXrmEasy.XrmFakedContext.<>c__DisplayClass158_01.b__0(IServiceProvider provider)
at FakeItEasy.CallbackConfigurationExtensions.<>c__DisplayClass2_0`2.b__0(IFakeObjectCall call)
at FakeItEasy.Configuration.BuildableCallRule.Apply(IInterceptedFakeObjectCall fakeObjectCall)
at FakeItEasy.Core.FakeManager.ApplyRule(CallRuleMetadata rule, IInterceptedFakeObjectCall fakeObjectCall)
at FakeItEasy.Core.FakeManager.FakeItEasy.Core.IFakeCallProcessor.Process(IInterceptedFakeObjectCall fakeObjectCall)
at FakeItEasy.Creation.CastleDynamicProxy.CastleDynamicProxyGenerator.ProxyInterceptor.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.Proxies.ObjectProxy_1.Execute(IServiceProvider serviceProvider)
at FakeXrmEasy.XrmFakedContext.ExecutePluginWith[T](XrmFakedPluginExecutionContext ctx, T instance)
at FakeXrmEasy.XrmFakedContext.ExecutePluginWith[T](XrmFakedPluginExecutionContext ctx)
at CRMPAG.DFL.Systemuser_TestProject.Program.Main(String[] args) in C:\Users\abachert\Source\Workspaces\DFL\Crm 2016\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser\CRMPAG.DFL.Systemuser_TestProject\Program.cs:line 37

@jordimontana82
Copy link
Owner

Hi @slushpuppy-dev , thx for raising this.

FakeXrmEasy does not support hierachy operators yet. This is one of the in progress tasks. Maybe you'd like to contribute and add them?

DONE:
<xs:enumeration value="eq" />
<xs:enumeration value="neq" />
<xs:enumeration value="ne" />
<xs:enumeration value="like" />
<xs:enumeration value="not-like" />
<xs:enumeration value="begins-with" />
<xs:enumeration value="not-begin-with" />
<xs:enumeration value="ends-with" />
<xs:enumeration value="not-end-with" />
<xs:enumeration value="in" />
<xs:enumeration value="not-in" />
<xs:enumeration value="null" />
<xs:enumeration value="not-null" />
<xs:enumeration value="gt" />
<xs:enumeration value="ge" />
<xs:enumeration value="le" />
<xs:enumeration value="lt" />
<xs:enumeration value="on" />
<xs:enumeration value="on-or-before" />
<xs:enumeration value="on-or-after" />
<xs:enumeration value="yesterday" />
<xs:enumeration value="today" />
<xs:enumeration value="tomorrow" />
<xs:enumeration value="between" />
<xs:enumeration value="not-between" />
<xs:enumeration value="eq-userid" />
<xs:enumeration value="ne-userid" />
<xs:enumeration value="olderthan-x-months" />
<xs:enumeration value="last-seven-days" />
TODO:
DATEs:
<xs:enumeration value="next-seven-days" />
<xs:enumeration value="last-week" />
<xs:enumeration value="this-week" />
<xs:enumeration value="next-week" />
<xs:enumeration value="last-month" />
<xs:enumeration value="this-month" />
<xs:enumeration value="next-month" />
<xs:enumeration value="last-year" />
<xs:enumeration value="this-year" />
<xs:enumeration value="next-year" />
<xs:enumeration value="last-x-hours" />
<xs:enumeration value="next-x-hours" />
<xs:enumeration value="last-x-days" />
<xs:enumeration value="next-x-days" />
<xs:enumeration value="last-x-weeks" />
<xs:enumeration value="next-x-weeks" />
<xs:enumeration value="last-x-months" />
<xs:enumeration value="next-x-months" />
<xs:enumeration value="olderthan-x-years" />
<xs:enumeration value="olderthan-x-weeks" />
<xs:enumeration value="olderthan-x-days" />
<xs:enumeration value="olderthan-x-hours" />
<xs:enumeration value="olderthan-x-minutes" />
<xs:enumeration value="last-x-years" />
<xs:enumeration value="next-x-years" />
<xs:enumeration value="eq-userteams" />
<xs:enumeration value="eq-useroruserteams" />
<xs:enumeration value="eq-useroruserhierarchy" />
<xs:enumeration value="eq-useroruserhierarchyandteams" />
<xs:enumeration value="eq-businessid" />
<xs:enumeration value="ne-businessid" />
<xs:enumeration value="eq-userlanguage" />
<xs:enumeration value="this-fiscal-year" />
<xs:enumeration value="this-fiscal-period" />
<xs:enumeration value="next-fiscal-year" />
<xs:enumeration value="next-fiscal-period" />
<xs:enumeration value="last-fiscal-year" />
<xs:enumeration value="last-fiscal-period" />
<xs:enumeration value="last-x-fiscal-years" />
<xs:enumeration value="last-x-fiscal-periods" />
<xs:enumeration value="next-x-fiscal-years" />
<xs:enumeration value="next-x-fiscal-periods" />
<xs:enumeration value="in-fiscal-year" />
<xs:enumeration value="in-fiscal-period" />
<xs:enumeration value="in-fiscal-period-and-year" />
<xs:enumeration value="in-or-before-fiscal-period-and-year" />
<xs:enumeration value="in-or-after-fiscal-period-and-year" />
HIERACHY OPERATORS:
<xs:enumeration value="under"/>
<xs:enumeration value="eq-or-under" />

@PowerPlatformProfessor
Copy link

I will give it a shot to try and solve this in upcoming weeks

@jordimontana82 jordimontana82 added this to the v2.x milestone Mar 23, 2021
@AhmedMunawar
Copy link

Hi, @jordimontana82 @PowerPlatformProfessor Is this missing operator support already implemented ?
I am also facing errors in "above", "above or equal" operators

@jordimontana82
Copy link
Owner

Hi @AhmedMunawar , none of the hierarchy operators are supported as of now. If there is huge demand for this I'll add it to the backlog after v2 is out. Unless you'd like to take a look and submit a PR?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants