/// <summary>
        /// Get the Post Code for the Blade
        /// </summary>
        public BiosPostCode GetPostCode(int bladeId)
        {
            Tracer.WriteInfo("Received GetPostCode({0})", bladeId);
            Tracer.WriteUserLog("Invoked GetPostCode(bladeid: {0})", bladeId);

            BiosPostCode postCodeResponse = new BiosPostCode();
            postCodeResponse.bladeNumber = bladeId;
            postCodeResponse.completionCode = Contracts.CompletionCode.Unknown;
            postCodeResponse.statusDescription = String.Empty;

            Contracts.ChassisResponse varResponse = ValidateRequest("GetPostCode", bladeId);
            if (varResponse.completionCode != Contracts.CompletionCode.Success)
            {
                postCodeResponse.completionCode = varResponse.completionCode;
                postCodeResponse.statusDescription = varResponse.statusDescription;
                return postCodeResponse;
            }

            // Get the current BIOS POST code
            Ipmi.BiosCode response = WcsBladeFacade.GetBiosCode((byte)bladeId, 0x00);

            if (response.CompletionCode != (byte)CompletionCode.Success)
            {
                Tracer.WriteWarning("GetPostCode for blade: {0} failed failed (Completion Code: {1:X})", bladeId, response.CompletionCode);
                postCodeResponse.completionCode =
                    ChassisManagerUtil.GetContractsCompletionCodeMapping((byte)response.CompletionCode);
                postCodeResponse.statusDescription = postCodeResponse.completionCode.ToString();
            }
            else
            {
                // Set response
                postCodeResponse.PostCode = response.PostCode;
                postCodeResponse.completionCode = Contracts.CompletionCode.Success;

                // Get the previous BIOS POST code
                response = WcsBladeFacade.GetBiosCode((byte)bladeId, 0x01);

                // Provide previous POST code if available.  Note: After Blade_EN is deasserted it is not
                // expected for this POST code to be available. Therefore it is not considered
                // an error condition to not return a previous POST code.
                if (response.CompletionCode == (byte)CompletionCode.Success)
                {
                    // Set response
                    postCodeResponse.PreviousPostCode = response.PostCode;
                }
                else
                {
                    postCodeResponse.PreviousPostCode = string.Format("Previous Code not available. Response Code: {0:X}", response.CompletionCode);
                }
            }

            return postCodeResponse;
        }
        /// <summary>
        /// command specific implementation 
        /// </summary>
        internal override void commandImplementation()
        {
            BiosPostCode myResponse = new BiosPostCode();
            try
            {
                dynamic bladeId = null;
                if (this.argVal.TryGetValue('i', out bladeId))
                {
                    myResponse = WcsCli2CmConnectionManager.channel.GetPostCode((int)bladeId);
                }
                else
                {
                    Console.WriteLine(WcsCliConstants.commandFailure +
                        " No blade ID specified, please look at command help.");
                    return;
                }
            }

            catch (Exception ex)
            {
                SharedFunc.ExceptionOutput(ex);
                return;
            }

            if (ResponseValidation.ValidateBladeResponse(myResponse.bladeNumber, "BIOS POST Code", myResponse, false))
            {
                Console.WriteLine(WcsCliConstants.commandSuccess +
                    " BIOS POST code for the previous boot (hex):\n" + myResponse.PreviousPostCode);
                Console.WriteLine();
                Console.WriteLine(WcsCliConstants.commandSuccess +
                    " BIOS POST code for the current boot (hex):\n" + myResponse.PostCode);

            }
        }