Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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"));
        }