public static string GetFullDescription(byte[] source, E_EMVShowOption options) { StringBuilder stringBuilder = new StringBuilder(); foreach (EMV_TAG emvtaG in EMVAnalyzer.GetEMVTAGs(source)) { stringBuilder.Append(emvtaG.ToString(options)); stringBuilder.Append("\r\n"); } return(stringBuilder.ToString()); }
public string ToString(E_EMVShowOption options) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(this.TAG + " Len=" + this.Length.ToString()); if ((options & E_EMVShowOption.NAME) > E_EMVShowOption.None) { stringBuilder.Append(" " + this.EMVRow.Name); } if ((options & E_EMVShowOption.VALUE) > E_EMVShowOption.None) { if (this.EMVRow.Type.Substring(0, 1).ToLower() == "a") { stringBuilder.Append(" \"" + Encoding.Default.GetString(this.value) + "\""); } else { stringBuilder.Append(" \"" + IsoUltil.BcdToString(this.value) + "\""); } } if ((options & E_EMVShowOption.DESCRIPTION) > E_EMVShowOption.None) { stringBuilder.Append("\r\n " + this.EMVRow.Description); } if ((options & E_EMVShowOption.BITS) > E_EMVShowOption.None) { DS_EMV_INFO.TAG_BITSRow[] tagBitsRows = this.EMVRow.GetTAG_BITSRows(); if (tagBitsRows.Length > 0) { BitArray bitArray = new BitArray(this.value); foreach (DS_EMV_INFO.TAG_BITSRow tagBitsRow in tagBitsRows) { stringBuilder.Append("\r\n " + tagBitsRow.Description + (bitArray[tagBitsRow.BIT - 1] ? ": Yes" : ": No")); } } } return(stringBuilder.ToString()); }