Esempio n. 1
0
        public IExtendedBoundClient <TR> Apply <TR>(Func <IDataAggregation <T>, IDataAggregation <TR> > dataAggregation) where TR : class
        {
            var dataAggregationBuilder = new DataAggregationBuilder <T>(Session);

            dataAggregation(dataAggregationBuilder);
            AppendDataAggregationBuilder(dataAggregationBuilder);
            return(new ExtendedBoundClient <TR>(Session, Command));
        }
Esempio n. 2
0
 internal void Append(DataAggregationBuilder nextDataAggregationBuilder)
 {
     if (_nextDataAggregationBuilder != null)
     {
         _nextDataAggregationBuilder.Append(nextDataAggregationBuilder);
         return;
     }
     _nextDataAggregationBuilder = nextDataAggregationBuilder;
 }
Esempio n. 3
0
 private void AppendDataAggregationBuilder(DataAggregationBuilder dataAggregationBuilder)
 {
     if (Command.Details.Extensions.TryGetValue(ODataLiteral.Apply, out var applyExtension) &&
         applyExtension is DataAggregationBuilder actualDataAggregationBuilder)
     {
         actualDataAggregationBuilder.Append(dataAggregationBuilder);
     }
     else
     {
         Command.Details.Extensions[ODataLiteral.Apply] = dataAggregationBuilder;
     }
 }