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); }
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); }
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)); } }