private FluentCommand Resolve()
        {
            if (!ReferenceEquals(_collectionExpression, null))
            {
                For(_collectionExpression.AsString(_session));
                _collectionExpression = null;
            }

            if (!ReferenceEquals(_derivedCollectionExpression, null))
            {
                As(_derivedCollectionExpression.AsString(_session));
                _derivedCollectionExpression = null;
            }

            if (!ReferenceEquals(_filterExpression, null))
            {
                _namedKeyValues = TryInterpretFilterExpressionAsKey(_filterExpression);
                if (_namedKeyValues == null)
                {
                    _filter = _filterExpression.Format(new ExpressionContext(_session, this.EntityCollection));
                }
                else
                {
                    _keyValues = null;
                    _topCount  = -1;
                }
                _filterExpression = null;
            }

            if (!ReferenceEquals(_linkExpression, null))
            {
                Link(_linkExpression.AsString(_session));
                _linkExpression = null;
            }

            return(this);
        }
Example #2
0
 public Task UnlinkEntryAsync(ODataExpression expression, ODataEntry linkedEntryKey, CancellationToken cancellationToken)
 {
     return(_client.UnlinkEntryAsync(_command, expression.AsString(_session), linkedEntryKey != null ? linkedEntryKey.ToDictionary() : null, cancellationToken));
 }
Example #3
0
 public Task UnlinkEntryAsync(ODataExpression expression, IDictionary <string, object> linkedEntryKey)
 {
     return(_client.UnlinkEntryAsync(_command, expression.AsString(_session), linkedEntryKey != null ? linkedEntryKey.ToDictionary() : null, CancellationToken.None));
 }
Example #4
0
 public Task UnlinkEntryAsync(ODataExpression expression, CancellationToken cancellationToken)
 {
     return(_client.UnlinkEntryAsync(_command, expression.AsString(_session), null, cancellationToken));
 }
Example #5
0
 public Task LinkEntryAsync(ODataExpression expression, ODataEntry linkedEntryKey)
 {
     return(_client.LinkEntryAsync(_command, expression.AsString(_session), linkedEntryKey.ToDictionary(), CancellationToken.None));
 }
Example #6
0
 public Task LinkEntryAsync(ODataExpression expression, IDictionary <string, object> linkedEntryKey, CancellationToken cancellationToken)
 {
     return(_client.LinkEntryAsync(_command, expression.AsString(_session), linkedEntryKey.ToDictionary(), cancellationToken));
 }
 public Task LinkEntryAsync(ODataExpression expression, ODataEntry linkedEntryKey, CancellationToken cancellationToken)
 {
     return(_client.LinkEntryAsync(_command, expression.AsString(_session), linkedEntryKey.ToDictionary(_session.TypeCache), cancellationToken));
 }
 public Task UnlinkEntryAsync(ODataExpression expression)
 {
     return(_client.UnlinkEntryAsync(_command, _command.KeyValues, expression.AsString(_session), null, CancellationToken.None));
 }