/// <summary> /// command specific implementation /// argVal command class member has all user-entered command argument indicators and parameter values /// Currently just prints all argument indicators and argument values /// </summary> internal override void commandImplementation() { uint sledId = 1; PowerStateResponse myResponse = new PowerStateResponse(); GetAllPowerStateResponse myResponses = new GetAllPowerStateResponse(); try { if (this.argVal.ContainsKey('a')) { myResponses = WcsCli2CmConnectionManager.channel.GetAllPowerState(); } else if (this.argVal.ContainsKey('i')) { dynamic mySledId = null; this.argVal.TryGetValue('i', out mySledId); sledId = (uint)mySledId; myResponse = WcsCli2CmConnectionManager.channel.GetPowerState((int)mySledId); } } catch (Exception ex) { SharedFunc.ExceptionOutput(ex); return; } if ((this.argVal.ContainsKey('a') && myResponses == null) || myResponse == null) { Console.WriteLine(WcsCliConstants.serviceResponseEmpty); return; } if (this.argVal.ContainsKey('a')) { for (int index = 0; index < myResponses.powerStateResponseCollection.Count(); index++) { if (myResponses.powerStateResponseCollection[index].completionCode == Contracts.CompletionCode.Success) { if (myResponses.powerStateResponseCollection[index].powerState == Contracts.PowerState.ON) { Console.WriteLine("Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": ON"); } else if (myResponses.powerStateResponseCollection[index].powerState == Contracts.PowerState.OFF) { Console.WriteLine("Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": OFF"); } else { Console.WriteLine("Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": --"); } } else if (myResponses.powerStateResponseCollection[index].completionCode == Contracts.CompletionCode.Unknown) { Console.WriteLine("Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": " + WcsCliConstants.bladeStateUnknown); } else { // diaplay the error message if not success/unknown Console.WriteLine("Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": " + myResponses.powerStateResponseCollection[index].completionCode.ToString()); } } } else { if (myResponse.completionCode == Contracts.CompletionCode.Success) { if (myResponse.powerState == Contracts.PowerState.ON) { Console.WriteLine("Blade Active Power State " + myResponse.bladeNumber + ": ON"); } else if (myResponse.powerState == Contracts.PowerState.OFF) { Console.WriteLine("Blade Active Power State " + myResponse.bladeNumber + ": OFF"); } else { Console.WriteLine("Blade Active Power State " + myResponse.bladeNumber + ": --"); } } else if (myResponse.completionCode == Contracts.CompletionCode.Unknown) { Console.WriteLine("Blade Active Power State " + myResponse.bladeNumber + ": " + WcsCliConstants.bladeStateUnknown); } else { // diaplay the error message if not success/unknown Console.WriteLine("Blade Active Power State " + sledId + ": " + myResponse.completionCode.ToString()); } } }
/// <summary> /// Get power state of all blades /// </summary> /// <returns>Collection of Blade State response packets</returns> public GetAllPowerStateResponse GetAllPowerState() { byte MaxbladeCount = (byte)ConfigLoaded.Population; GetAllPowerStateResponse responses = new GetAllPowerStateResponse(); responses.completionCode = Contracts.CompletionCode.Unknown; responses.statusDescription = string.Empty; responses.powerStateResponseCollection = new List<PowerStateResponse>(); Contracts.CompletionCode[] bladeInternalResponseCollection = new Contracts.CompletionCode[MaxbladeCount]; uint bladeCount = MaxbladeCount; Tracer.WriteUserLog("Invoked GetAllPowerState()"); Tracer.WriteInfo("Invoked GetAllPowerState()"); for (int loop = 0; loop < bladeCount; loop++) { responses.powerStateResponseCollection.Add(GetPowerState(loop + 1)); Tracer.WriteInfo("Blade power state: ", responses.powerStateResponseCollection[loop].powerState); // Set the internal blade response to the blade completion code. bladeInternalResponseCollection[loop] = responses.powerStateResponseCollection[loop].completionCode; } Contracts.ChassisResponse varResponse = new Contracts.ChassisResponse(); varResponse = ChassisManagerUtil.ValidateAllBladeResponse(bladeInternalResponseCollection); responses.completionCode = varResponse.completionCode; responses.statusDescription = varResponse.statusDescription; return responses; }
/// <summary> /// command specific implementation /// argVal command class member has all user-entered command argument indicators and parameter values /// Currently just prints all argument indicators and argument values /// </summary> internal override void commandImplementation() { uint sledId = 1; PowerStateResponse myResponse = new PowerStateResponse(); GetAllPowerStateResponse myResponses = new GetAllPowerStateResponse(); try { if (this.argVal.ContainsKey('a')) { myResponses = WcsCli2CmConnectionManager.channel.GetAllPowerState(); } else if (this.argVal.ContainsKey('i')) { dynamic mySledId = null; this.argVal.TryGetValue('i', out mySledId); sledId = (uint)mySledId; myResponse = WcsCli2CmConnectionManager.channel.GetPowerState((int)mySledId); } } catch (Exception ex) { SharedFunc.ExceptionOutput(ex); return; } if ((this.argVal.ContainsKey('a') && myResponses == null) || myResponse == null) { Console.WriteLine(WcsCliConstants.serviceResponseEmpty); return; } if (this.argVal.ContainsKey('a')) { for (int index = 0; index < myResponses.powerStateResponseCollection.Count(); index++) { if (ResponseValidation.ValidateBladeResponse(myResponses.powerStateResponseCollection[index].bladeNumber, null, myResponses.powerStateResponseCollection[index], false)) { if (myResponses.powerStateResponseCollection[index].completionCode == Contracts.CompletionCode.Success) { if (myResponses.powerStateResponseCollection[index].powerState == Contracts.PowerState.ON) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": ON"); } else if (myResponses.powerStateResponseCollection[index].powerState == Contracts.PowerState.OFF) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": OFF"); } else if (myResponses.powerStateResponseCollection[index].powerState == Contracts.PowerState.OnFwDecompress) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": ON - Firmware Decompressing"); } else { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponses.powerStateResponseCollection[index].bladeNumber + ": --"); } } } } } else { if (ResponseValidation.ValidateBladeResponse(myResponse.bladeNumber, null, myResponse, false)) { if (myResponse.powerState == Contracts.PowerState.ON) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponse.bladeNumber + ": ON"); } else if (myResponse.powerState == Contracts.PowerState.OFF) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponse.bladeNumber + ": OFF"); } else if (myResponse.powerState == Contracts.PowerState.OnFwDecompress) { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponse.bladeNumber + ": ON - Firmware Decompressing"); } else { Console.WriteLine(WcsCliConstants.commandSuccess + " Blade Active Power State " + myResponse.bladeNumber + ": --"); } } } }