public ActionResult OnGetToggleOutletState(int id, Outlet.PowerState currentPowerState)
        {
            switch (currentPowerState)
            {
            case Outlet.PowerState.On:
                _pdu.TurnOutletOff(id);
                break;

            case Outlet.PowerState.Off:
                _pdu.TurnOutletOn(id);
                break;
            }

            var outletTableViewModel = new OutletTableViewModel();

            outletTableViewModel.Outlets            = _pdu.GetOutletsWaitForPending(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);
        }
Пример #2
0
        public void GivenOutlet5IsOff_WhenTurnOutlet5On_ThenOutlet5IsOn()
        {
            int outletId = 5;

            //Given
            Assert.IsTrue(_device.TurnOutletOff(outletId));
            var outlets = _device.GetOutletsWaitForPending();

            if (outlets == null)
            {
                Assert.Fail();
            }

            var outlet = outlets.First(o => o.Id == outletId);

            if (outlet == null)
            {
                Assert.Fail();
            }
            Assert.IsTrue(outlet.State == Outlet.PowerState.Off);

            //When
            Assert.IsTrue(_device.TurnOutletOn(outletId));

            //Then
            outlets = _device.GetOutletsWaitForPending();
            if (outlets == null)
            {
                Assert.Fail();
            }
            outlet = outlets.First(o => o.Id == outletId);
            if (outlet == null)
            {
                Assert.Fail();
            }
            Assert.IsTrue(outlet.State == Outlet.PowerState.On);
        }
Пример #3
0
        private Task <MethodResponse> GetOutletsWaitForPending(MethodRequest methodRequest, object userContext)
        {
            var payloadDefintion = new
            {
                getPower   = false,
                getCurrent = false
            };

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

            if (result != null)
            {
                return(methodRequest.GetMethodResponseSerialize(true, result));
            }
            else
            {
                return(methodRequest.GetMethodResponse(false));
            }
        }