Ejemplo n.º 1
0
        /// <summary>
        /// Get Data Count
        /// </summary>
        /// <param name="query">query model</param>
        /// <returns></returns>
        public async Task <long> CountAsync(IQuery query)
        {
            long allCount    = 0;
            var  countResult = await WarehouseManager.CountAsync <ET>(query).ConfigureAwait(false);

            allCount = allCount - countResult.PersistentDataCount + countResult.NewDataCount;
            return(allCount);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get Average Value
        /// </summary>
        /// <typeparam name="DT">DataType</typeparam>
        /// <param name="query">query model</param>
        /// <returns>average value</returns>
        public async Task <DT> AvgAsync <DT>(IQuery query)
        {
            var countResult = await WarehouseManager.CountAsync <ET>(query).ConfigureAwait(false);

            if (countResult.TotalDataCount > 0)
            {
                dynamic sum = await SumAsync <DT>(query).ConfigureAwait(false);

                var count = await CountAsync(query).ConfigureAwait(false);

                return(sum / count);
            }
            else
            {
                return(await ContainerManager.Resolve <DAI>().AvgAsync <DT>(query).ConfigureAwait(false));
            }
        }