Ejemplo n.º 1
0
        /// <summary>Calculates the aggregats.</summary>
        /// <param name="searchVmAggregate">The search vm aggregate.</param>
        /// <param name="aggregateDefinitions">The collection of column aggregate definitions.</param>
        private async void CalculateAggregates(IAggregate searchVmAggregate, IList<AggregateDefinition> aggregateDefinitions)
        {
            if (searchVmAggregate == null)
                return;

            GridViewAggregateHelper.AddOrInvalidateAggregateFunctions(_grid, aggregateDefinitions);

            try
            {
                var resultCollection =
                    await searchVmAggregate.CalculateAggregatesAsync(aggregateDefinitions);

                GridViewAggregateHelper.UpdateAggregates(
                    _grid, resultCollection, aggregateDefinitions);
            }
            catch (Exception ex)
            {
                ThePopupFactory.NotifyFailure(ex);
                GridViewAggregateHelper.RemoveAggregateFunctions(_grid, aggregateDefinitions);
            }
        }