public IActionResult Dashboard() { MongoIndoorTempSetting_Model mongoIndoor = new MongoIndoorTempSetting_Model(); List <MongoIndoorTempSetting_Model> settingList = SETTINGCOLLECTION.Find(_ => true).ToList(); if (settingList.Count <= 0) //no record { mongoIndoor.Id = ""; mongoIndoor.acDefaultTemp = 25.5; mongoIndoor.tempRangeHighest = 30; mongoIndoor.checkDegRange = 2; mongoIndoor.eachTempRange = 3; mongoIndoor.acLowestTemp = 16; } foreach (MongoIndoorTempSetting_Model m in settingList) //have setting record { mongoIndoor = m; } IntelligentControlDeviceUnit intelligentControlDeviceUnit = new IntelligentControlDeviceUnit(); intelligentControlDeviceUnit.mongoIndoor = mongoIndoor; string checkTimeMin = "*/5 * * * *"; if (mongoIndoor != null) { checkTimeMin = "*/" + mongoIndoor.checkTimeMinutes + " * * * *"; Debug.WriteLine("checkTimeMin!!!!!!!!" + checkTimeMin); } RecurringJob.AddOrUpdate(() => intelligentControlDeviceUnit.IntelligentControlDevice(), checkTimeMin.ToString()); RecurringJob.AddOrUpdate(() => intelligentControlDeviceUnit.scheduledControl(), "* * * * *"); //batch DevicesPowerUseInputUtil devicesPowerUseInputUtil = new DevicesPowerUseInputUtil(); RecurringJob.AddOrUpdate(() => devicesPowerUseInputUtil.updateRoomPower(), "* * * * *"); DevicesPowerUseOutputUtil powerUseOutputUtil = new DevicesPowerUseOutputUtil(); double TotalSavings = 0; double TotalUsage = Math.Round(powerUseOutputUtil.getTotalPowerUse(), 2); double ACpower = Math.Round(powerUseOutputUtil.getACPowerUse(), 2); double LTpower = Math.Round(powerUseOutputUtil.getLPowerUse(), 2); double HDpower = Math.Round(powerUseOutputUtil.getHUMPowerUse(), 2); double EFpower = Math.Round(powerUseOutputUtil.getEXHFPowerUse(), 2); ViewBag.TotalUsage = TotalUsage; ViewBag.TotalSavings = TotalSavings; ViewBag.ACpower = ACpower; ViewBag.LTpower = LTpower; ViewBag.HDpower = HDpower; ViewBag.EFpower = EFpower; ViewBag.trendJsonString = powerUseOutputUtil.getRoomPowerTrend(); return(View()); }
public ActionResult DoughnutChart() { Debug.WriteLine(Request.Query["title"]); Debug.WriteLine(Request.Query["chartType"]); Debug.WriteLine(Request.Query["position"]); ViewBag.charttitle = Request.Query["title"]; ViewBag.chartType = Request.Query["chartType"]; ViewBag.position = Request.Query["position"]; List <string> label = new List <string>(); DevicesController device = new DevicesController(); List <double> data = new List <double>(); DevicesPowerUseOutputUtil powerUseOutputUtil = new DevicesPowerUseOutputUtil(); double ACpower = Math.Round(powerUseOutputUtil.getACPowerUse(), 2); double LTpower = Math.Round(powerUseOutputUtil.getLPowerUse(), 2); double HDpower = Math.Round(powerUseOutputUtil.getHUMPowerUse(), 2); double EFpower = Math.Round(powerUseOutputUtil.getEXHFPowerUse(), 2); double[] myNum = { ACpower, LTpower, HDpower, EFpower }; var i = 0; foreach (string getDeviceTypeName in device.typeName) { label.Add(getDeviceTypeName); //data.Add(device.GetDeviceCount(getDeviceTypeName)); data.Add(myNum[i]); i++; } ViewBag.divId = GetRandomDivId(); ChartController chart = new ChartController(); ViewBag.datasets = chart.DoughnutChart(label, data); ViewData["devices"] = label.ToJson(); return(PartialView("_DoughnutChart")); }