Exemplo n.º 1
0
        public AccountDataContext(IConfiguration configuration)
        {
            string   mysql_conn  = configuration.GetConnectionString("peiu_account_connnectionstring");
            Assembly addAssembly = System.Reflection.Assembly.Load("DatabaseModel");

            _da = MysqlDataAccessor.CreateDataAccessFromEnvironment();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Mining weather data!");
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

//#if DEBUG
//            Console.WriteLine("DEBUG MODE");
//            string openWeatherAppKey = "0e24126ab1639fb0301e58fb0f2a7009";
//            string controlCenterLat = "36.429409";
//            string controlCenterLon = "127.390811";
//            string mysql_conn = DataAccessor.CreateConnectionString("192.168.0.40", "3306", "peiugrid", "power21", "123qwe");
//            MysqlDataAccessor dataAccessor = new MysqlDataAccessor(mysql_conn);
//#else
            string            openWeatherAppKey = Environment.GetEnvironmentVariable(OPENWEATHER_APP_KEY);
            string            controlCenterLat  = Environment.GetEnvironmentVariable(CC_GPS_LAT);
            string            controlCenterLon  = Environment.GetEnvironmentVariable(CC_GPS_LON);
            MysqlDataAccessor dataAccessor      = MysqlDataAccessor.CreateDataAccessFromEnvironment();
//#endif

            double lat = double.Parse(controlCenterLat);
            double lon = double.Parse(controlCenterLon);



            CollectingCurrentWeatherService svc = new CollectingCurrentWeatherService(openWeatherAppKey, lat, lon, dataAccessor);

            Task t = svc.UploadingCurrentWeather(cancellationTokenSource.Token);

            t.Wait();
        }
Exemplo n.º 3
0
 // Additional configuration is required to successfully run gRPC on macOS.
 // For instructions on how to configure Kestrel and gRPC clients on macOS, visit https://go.microsoft.com/fwlink/?linkid=2099682
 public static IHostBuilder CreateHostBuilder(string[] args) =>
 Host.CreateDefaultBuilder(args)
 .ConfigureServices((hostContext, services) =>
 {
     MysqlDataAccessor dataAccessor = MysqlDataAccessor.CreateDataAccessFromEnvironment();
     services.AddSingleton(dataAccessor);
 })
 .ConfigureWebHostDefaults(webBuilder =>
 {
     webBuilder.UseKestrel().UseStartup <Startup>();
 });
Exemplo n.º 4
0
        static Program()
        {
            string mysql_conn = "";

            logFactory = NLog.LogManager.LoadConfiguration("nlog.config");
            logger     = logFactory.GetLogger("CumulateHourlyApp");
#if DEBUG
            Console.WriteLine("DEBUG MODE");
            string influx_hostname = "http://192.168.0.40:8086";
            string influx_username = "******";
            string influx_password = "******";


            mysql_conn   = PeiuPlatform.DataAccessor.DataAccessorBase.CreateConnectionString("192.168.0.40", "3306", "power21", "123qwe");
            dataAccessor = new MysqlDataAccessor(mysql_conn);
#else
            string influx_hostname = Environment.GetEnvironmentVariable(ENV_INFLUXDB_HOST);
            string influx_username = Environment.GetEnvironmentVariable(ENV_INFLUXDB_USERNAME);
            string influx_password = Environment.GetEnvironmentVariable(ENV_INFLUXDB_PASSWORD);

            dataAccessor = MysqlDataAccessor.CreateDataAccessFromEnvironment();
#endif
            influxDBClient = new InfluxDBClient(influx_hostname, influx_username, influx_password);
        }
Exemplo n.º 5
0
 public CumulativeDataAccess(MysqlDataAccessor mysqlDataAccessor)
 {
     this.mysqlDataAccessor = mysqlDataAccessor;
 }
 public RevenueDataAccess(MysqlDataAccessor mysqlDataAccessor)
 {
     this.mysqlDataAccessor = mysqlDataAccessor;
 }
Exemplo n.º 7
0
 public GreeterService(ILogger <GreeterService> logger, MysqlDataAccessor mysqlDataAccessor)
 {
     _logger = logger;
     this.mysqlDataAccessor = mysqlDataAccessor;
 }
Exemplo n.º 8
0
        static async Task Run()
        {
            MysqlDataAccessor mysqlData = MysqlDataAccessor.CreateDataAccessFromEnvironment();

            using (var session = mysqlData.SessionFactory.OpenSession())
                using (var transaction = session.BeginTransaction())
                {
                    var sites = await session.CreateCriteria <Vwcontractorsite>().ListAsync <Vwcontractorsite>();

                    logger.Info("Start calculate Minute Measurement");
                    Dictionary <int, List <string> > pcsKeys = null;
                    Dictionary <int, List <string> > bmsKeys = null;
                    Dictionary <int, List <string> > pvKeys  = null;


                    DateTime now = DateTime.Now.ToUniversalTime();
#if DEBUG
                    DateTime stampDate = now;
#else
                    DateTime stampDate = now.AddHours(9);
#endif
                    DateTime accum_date = stampDate.AddMinutes(-1);

                    DateTime startDt = now.Date.AddHours(now.Hour).AddMinutes(now.Minute - 1);
                    DateTime endDt   = startDt.AddMinutes(1).AddSeconds(-1);
                    CreateRedisKeys(sites, ref pcsKeys, ref bmsKeys, ref pvKeys);
                    foreach (var x in sites)
                    {
                        try
                        {
                            double soc_men = await MeanAsync(bmsKeys[x.Siteid], "bms_soc");

                            double soh_men = await MeanAsync(bmsKeys[x.Siteid], "bms_soh");

                            double act_sum = await SumAsync(pcsKeys[x.Siteid], "actPwrKw");

                            double pv_sum = await SumAsync(pvKeys[x.Siteid], "TotalActivePower");

                            double sumOfCharge = await influxDataAccess.Sum("peiudb", "pcs_data", "actPwrKw", x.Siteid, startDt, endDt, "actPwrKw < 0");

                            double sumOfDischarge = await influxDataAccess.Sum("peiudb", "pcs_data", "actPwrKw", x.Siteid, startDt, endDt, "actPwrKw > 0");

                            double avgOfSoc = await influxDataAccess.Average("peiudb", "bms_data", "bms_soc", x.Siteid, startDt, endDt);

                            double avgOfSoh = await influxDataAccess.Average("peiudb", "bms_data", "bms_soh", x.Siteid, startDt, endDt);

                            double sumofpvgeneration = await influxDataAccess.Sum("peiudb", "pv_data", "TotalActivePower", x.Siteid, startDt, endDt);

                            MinuteMeasurement instantaneous = new MinuteMeasurement();
                            instantaneous.Rcc          = x.Rcc;
                            instantaneous.Siteid       = x.Siteid;
                            instantaneous.Createdt     = stampDate.Date;
                            instantaneous.Hour         = stampDate.Hour;
                            instantaneous.Minute       = stampDate.Minute;
                            instantaneous.Inisland     = x.Inisland;
                            instantaneous.Soc          = soc_men;
                            instantaneous.Soh          = soh_men;
                            instantaneous.Activepower  = act_sum;
                            instantaneous.Pvgeneration = pv_sum;
                            await session.SaveOrUpdateAsync(instantaneous);

                            MinuteAccmofMeasurement accum = new MinuteAccmofMeasurement();
                            accum.Rcc               = x.Rcc;
                            accum.Siteid            = x.Siteid;
                            accum.Createdt          = accum_date.Date;
                            accum.Hour              = accum_date.Hour;
                            accum.Minute            = accum_date.Minute;
                            accum.Avgofsoc          = avgOfSoc;
                            accum.Avgofsoh          = avgOfSoh;
                            accum.Sumofcharge       = sumOfCharge / 3600;
                            accum.Sumofdischarge    = sumOfDischarge / 3600;
                            accum.Sumofpvgeneration = sumofpvgeneration / 3600;
                            await session.SaveOrUpdateAsync(accum);
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    logger.Info("End calculate Minute Measurement");
                    logger.Info("Start calculate Minute Accumulate");



                    await transaction.CommitAsync();
                }
        }
Exemplo n.º 9
0
 public MeasurementDataAccess(IRedisDataAccessor redisDataAccessor, MysqlDataAccessor mysqlDataAccessor)
 {
     this.redisDataAccessor = redisDataAccessor;
     database = redisDataAccessor.GetDatabase();
     this.mysqlDataAccessor = mysqlDataAccessor;
 }