private async Task <IEnumerable <RevenueBySite> > RevenueByAllSites <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date) where RType : IRevenue { if (context.ThrowIfInvalidAuthorization() == false) { return(null); } var sitekeys = context.GetAllSiteIds(); List <RevenueBySite> results = new List <RevenueBySite>(); using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession()) { foreach (int site in sitekeys) { var result = await query(session, date, new int[] { site }); RevenueBySite line = new RevenueBySite { siteid = site, sumofmoney = result.Sum(x => x.Revenue) }; results.Add(line); } } return(results.OrderByDescending(x => x.sumofmoney)); }
private async Task <RevenueBySite> RevenueSitesBysite <RType>(ResolveFieldContext context, QueryTemplate <RType> query, DateTime date, int site) where RType : IRevenue { if (context.ThrowIfInvalidAuthorization() == false) { return(null); } var siteKeys = context.GetAllSiteIds(); if (siteKeys.Contains(site) == false) { context.Errors.Add(new GraphQL.ExecutionError("대상 사이트는 소유하지 않았습니다")); return(null); } using (IStatelessSession session = mysqlDataAccessor.SessionFactory.OpenStatelessSession()) { var result = await query(session, date, new int[] { site }); RevenueBySite line = new RevenueBySite { siteid = site, sumofmoney = result.Sum(x => x.Revenue) }; return(line); } }