private async Task <AnalogSummary> GetDailySummaryAsync(ResolveFieldContext context, DateTime start) { try { if (context.ThrowIfInvalidAuthorization() == false) { return(null); } var sites = context.GetAllSiteIds(); AnalogSummary summary = new AnalogSummary(); using (var session = mysqlDataAccessor.SessionFactory.OpenStatelessSession()) { var result = await session.CreateCriteria <HourlyAccmofMeasurement>() .Add(Restrictions.Eq("Createdt", start.Date) && Restrictions.In("Siteid", sites.ToArray())).ListAsync <HourlyAccmofMeasurement>(); double Sumofcharge = result.Sum(x => x.Sumofcharge); double Sumofdischarge = result.Sum(x => x.Sumofdischarge); double sumOfPv = result.Sum(x => x.Sumofpvgeneration); summary.sumofcharge = Sumofcharge; summary.sumofdischarge = Sumofdischarge; summary.sumofpvgeneration = sumOfPv; return(summary); } } catch (Exception ex) { context.Errors.Add(new GraphQL.ExecutionError(ex.Message, ex)); return(null); } }
private async Task <AnalogSummary> GetMonthlySummaryAsync(ResolveFieldContext context, int year, int month) { try { if (context.ThrowIfInvalidAuthorization() == false) { return(null); } var sites = context.GetAllSiteIds(); AnalogSummary summary = new AnalogSummary(); using (var session = mysqlDataAccessor.SessionFactory.OpenStatelessSession()) { var result = await MonthlyQuery(session, year, month, sites); double Sumofcharge = result.Sum(x => x.Sumofcharge); double Sumofdischarge = result.Sum(x => x.Sumofdischarge); double sumOfPv = result.Sum(x => x.Sumofpvgeneration); summary.sumofcharge = Sumofcharge; summary.sumofdischarge = Sumofdischarge; summary.sumofpvgeneration = sumOfPv; return(summary); } } catch (Exception ex) { context.Errors.Add(new GraphQL.ExecutionError(ex.Message, ex)); return(null); } }