public void GivenDevice_WhenGetOutlets_ThenOutletCountIs24()
        {
            var outlets = _device.GetOutlets();

            if (outlets == null)
            {
                Assert.Fail();
            }
            Assert.IsTrue(outlets.Count() == 24);
        }
示例#2
0
        // Turn off all devices not on the exclusion list, including the TV
        public IActionResult OnPostPowerOff()
        {
            var outlets = _apcAP8959EU3.GetOutlets();

            if (outlets != null)
            {
                foreach (var outlet in outlets.Where(o =>
                                                     !_outletConfirmation.Contains(o.Name) &&
                                                     o.State == Outlet.PowerState.On))
                {
                    _apcAP8959EU3.TurnOutletOff(outlet.Id);
                }
            }

            _sonySimpleIP.TurnOff();

            return(RedirectToPage());
        }
示例#3
0
        private Task <MethodResponse> GetOutlets(MethodRequest methodRequest, object userContext)
        {
            var payloadDefintion = new
            {
                getPower   = false,
                getCurrent = false
            };

            var payload = JsonConvert.DeserializeAnonymousType(methodRequest.DataAsJson, payloadDefintion);
            var result  = _device.GetOutlets(payload.getPower, payload.getCurrent);

            if (result != null)
            {
                return(methodRequest.GetMethodResponseSerialize(true, result));
            }
            else
            {
                return(methodRequest.GetMethodResponse(false));
            }
        }
示例#4
0
        public IndexModel(IConfiguration configuration, IWebHostEnvironment environment)
        {
            Contract.Requires(configuration != null);
            Contract.Requires(environment != null);

            _configuration = configuration;
            _environment   = environment;

            _connectionString = _configuration.GetValue <string>("ControlAVPIoTHubConnectionString");
            _deviceId         = _configuration.GetValue <string>("ControlAVPIoTHubDeviceId");

            _serviceClient  = ServiceClient.CreateFromConnectionString(_connectionString);
            _cp             = new CommandDispatcher(_serviceClient, _deviceId);
            _extronDSC301HD = new ExtronDSC301HD(_serviceClient, _deviceId);
            _apcAP8959EU3   = new ApcAP8959EU3(_serviceClient, _deviceId);
            _sonySimpleIP   = new SonySimpleIP(_serviceClient, _deviceId);
            _ossc           = new OSSC(_serviceClient, _deviceId);

            _outlets            = _apcAP8959EU3.GetOutlets();
            _outletConfirmation = _configuration.GetSection("OutletConfirmation").Get <string[]>();

            _commandDirectory = Path.Combine(_environment.WebRootPath, "commands");
        }
        public ActionResult OnGetOutletTable()
        {
            var outletTableViewModel = new OutletTableViewModel();

            outletTableViewModel.Outlets            = _pdu.GetOutlets(true, false);
            outletTableViewModel.WebRootPath        = _environment.WebRootPath;
            outletTableViewModel.OutletConfirmation = _configuration.GetSection("OutletConfirmation").Get <string[]>();
            outletTableViewModel.Phases             = _pdu.GetPhases();

            var viewData = new ViewDataDictionary(new Microsoft.AspNetCore.Mvc.ModelBinding.EmptyModelMetadataProvider(), new Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary())
            {
                { "OutletTableViewModel", outletTableViewModel }
            };

            viewData.Model = outletTableViewModel;

            PartialViewResult result = new PartialViewResult()
            {
                ViewName = "_OutletTable",
                ViewData = viewData,
            };

            return(result);
        }