コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }