public AccountDataContext(IConfiguration configuration) { string mysql_conn = configuration.GetConnectionString("peiu_account_connnectionstring"); Assembly addAssembly = System.Reflection.Assembly.Load("DatabaseModel"); _da = MysqlDataAccessor.CreateDataAccessFromEnvironment(); }
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(); }
// 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>(); });
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); }
public CumulativeDataAccess(MysqlDataAccessor mysqlDataAccessor) { this.mysqlDataAccessor = mysqlDataAccessor; }
public RevenueDataAccess(MysqlDataAccessor mysqlDataAccessor) { this.mysqlDataAccessor = mysqlDataAccessor; }
public GreeterService(ILogger <GreeterService> logger, MysqlDataAccessor mysqlDataAccessor) { _logger = logger; this.mysqlDataAccessor = mysqlDataAccessor; }
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(); } }
public MeasurementDataAccess(IRedisDataAccessor redisDataAccessor, MysqlDataAccessor mysqlDataAccessor) { this.redisDataAccessor = redisDataAccessor; database = redisDataAccessor.GetDatabase(); this.mysqlDataAccessor = mysqlDataAccessor; }