public void TestEncryptAttributeSet() { var encryptAttributes = new EncryptAttributeSet("FNSBA") { AhsId = "102", LobCd = "PAU", EncryptType = "ACORD" }; Assert.IsTrue(encryptAttributes.Execute(), encryptAttributes.LastError); Assert.IsTrue(encryptAttributes.Results != null); foreach (DataRow encryptRow in encryptAttributes) { Console.WriteLine("{0}", encryptRow[(int)EncryptAttributeSet.ResultList.AttributeName]); } }
/// <summary> /// Encrypts the XML fields. /// </summary> /// <param name="doc">The doc.</param> /// <param name="ahsId">The ahs id.</param> /// <param name="lobCd">The lob cd.</param> /// <param name="type">The type.</param> /// <param name="decrypt">if set to <c>true</c> [decrypt].</param> /// <returns></returns> static public string EncryptXmlFields(string doc, string ahsId, string lobCd, string type, bool decrypt) { var results = doc; try { var encryptDoc = new XmlDocument(); encryptDoc.LoadXml(doc); var root = encryptDoc.DocumentElement; if (null != root) { var encyptAttributes = new EncryptAttributeSet { AhsId = ahsId, LobCd = lobCd, EncryptType = type }; Assert.Test(encyptAttributes.Execute(), encyptAttributes.LastError); foreach (DataRow encryptRow in encyptAttributes) { var attributeName = encryptRow[(int)EncryptAttributeSet.ResultList.AttributeName].ToString(); var nodes = encryptDoc.SelectNodes(attributeName); if (null == nodes) { continue; } foreach (XmlNode node in nodes) { if (string.IsNullOrEmpty(node.InnerText)) { continue; } node.InnerText = decrypt ? Cryptographer.DecryptSymmetric(SymmProvider, node.InnerText) : Cryptographer.EncryptSymmetric(SymmProvider, node.InnerText); } } results = encryptDoc.OuterXml; } } catch (Exception ex) { ErrorLog.LogError("EncryptXmlFields(): " + ex.Message, ServiceName); } return(results); }