Exemple #1
0
        private void WriteDataExtensions(GrnNode dataExtSecNode, OrderedDictionary stringMap)
        {
            foreach (Dictionary <string, string> dataExt in this.DataExtensions)
            {
                GrnNode dataExtNode = new GrnNode(dataExtSecNode, GrnNodeType.DataExtension);
                dataExtNode.Data = new byte[] { 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 };
                dataExtSecNode.AppendChild(dataExtNode);

                GrnNode datExtPropSecNode = new GrnNode(dataExtNode, GrnNodeType.DataExtensionPropertySection);
                dataExtNode.AppendChild(datExtPropSecNode);

                foreach (KeyValuePair <string, string> deProp in dataExt)
                {
                    GrnDataExtensionPropertyNode dePropNode = new GrnDataExtensionPropertyNode(datExtPropSecNode);
                    dePropNode.StringTableIndex = (int)stringMap[deProp.Key];
                    datExtPropSecNode.AppendChild(dePropNode);

                    GrnNode deValSection = new GrnNode(dePropNode, GrnNodeType.DataExtensionValueSection);
                    dePropNode.AppendChild(deValSection);

                    GrnDataExtensionPropertyValueNode dePValNode = new GrnDataExtensionPropertyValueNode(deValSection);
                    dePValNode.StringTableIndex = (int)stringMap[deProp.Value];
                    deValSection.AppendChild(dePValNode);
                }
            }
        }
Exemple #2
0
 private void ReadDataExtension(List <string> strings, List <GrnNode> dataExtensions)
 {
     for (int i = 0; i < dataExtensions.Count; ++i)
     {
         this.DataExtensions.Add(new Dictionary <string, string>());
         List <GrnDataExtensionPropertyNode> dataExtensionProperties =
             dataExtensions[i].FindNodes <GrnDataExtensionPropertyNode>(
                 GrnNodeType.DataExtensionProperty);
         foreach (GrnDataExtensionPropertyNode dataExtProp in dataExtensionProperties)
         {
             GrnDataExtensionPropertyValueNode dataExtensionPropertyValue =
                 dataExtProp.FindNode <GrnDataExtensionPropertyValueNode>(
                     GrnNodeType.DataExtensionPropertyValue);
             this.DataExtensions[i].Add(strings[dataExtProp.StringTableIndex],
                                        strings[dataExtensionPropertyValue.StringTableIndex]);
         }
     }
 }