/// <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); }
/// <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)); } }