Example #1
0
            public void WriteXml(System.Xml.XmlWriter writer)
            {
                try
                {
                    foreach (System.Data.DataRow dr in m_schema.Rows)
                    {
                        string columnName = System.Convert.ToString(dr["column_name"]);
                        string entityType = System.Convert.ToString(dr["EntityType"]);
                        string data       = null;

                        // 2014-11-26T12:30:53.967
                        if (object.ReferenceEquals(m_data.Table.Columns[columnName].DataType, typeof(DateTime)))
                        {
                            if (m_data[columnName] == System.DBNull.Value)
                            {
                                data = null;
                            }
                            else
                            {
                                System.DateTime dat = (System.DateTime)m_data[columnName];
                                data = dat.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff", System.Globalization.CultureInfo.InvariantCulture);
                            }
                        }
                        else if (object.ReferenceEquals(m_data.Table.Columns[columnName].DataType, typeof(byte[])))
                        {
                            if (m_data[columnName] != System.DBNull.Value)
                            {
                                byte[] dat = (byte[])m_data[columnName];

                                if (dat != null)
                                {
                                    data = System.Convert.ToBase64String(dat);
                                }
                            }
                        }
                        else
                        {
                            data = System.Convert.ToString(m_data[columnName], System.Globalization.CultureInfo.InvariantCulture);
                        }

                        // LoLz
                        if (IsDevelopment)
                        {
                            OptionallyDecryptPassword(ref data, columnName);
                        }

                        writer.WriteStartElement("d:" + columnName);

                        if (!StringComparer.Ordinal.Equals(entityType, "Edm.String"))
                        {
                            writer.WriteAttributeString("m:type", entityType);
                        }

                        if (string.IsNullOrEmpty(data))
                        {
                            writer.WriteAttributeString("m:null", "true");
                        }

                        if (data != null)
                        {
                            // writer.WriteValue(data);

                            if (System.StringComparer.OrdinalIgnoreCase.Equals(columnName, "KU_Bemerkung"))
                            {
                                System.Console.WriteLine(data);
                            }

                            // string str = System.Security.SecurityElement.Escape(data)
                            string str = m_XmlEndcoder.XmlEscape(data);
                            writer.WriteRaw(str);
                        }


                        writer.WriteEndElement();
                    } // Next dr
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine(ex.Message);
                    throw;
                }


                //// <d:AD_UID m:type="Edm.Guid">6d12a79a-033d-4ca4-8e48-4a5eaa6f6aad</d:AD_UID>
                //writer.WriteStartElement("d:" + "AD_UID");
                //writer.WriteAttributeString("m:type", "Edm.Guid");
                //writer.WriteValue(System.Guid.NewGuid().ToString());
                //writer.WriteEndElement();

                ////<d:AD_User>hbd_cafm</d:AD_User>
                //writer.WriteStartElement("d:" + "AD_User");
                //writer.WriteValue("hbd_cafm");
                //writer.WriteEndElement();

                //// <d:AD_Password>DrpC0u2ZJp0=</d:AD_Password>
                //writer.WriteStartElement("d:" + "AD_Password");
                //writer.WriteValue("DrpC0u2ZJp0=");
                //writer.WriteEndElement();

                //// <d:AD_Level m:type="Edm.Byte">1</d:AD_Level>
                //writer.WriteStartElement("d:" + "AD_Level");
                //writer.WriteAttributeString("m:type", "Edm.Byte");
                //writer.WriteValue(1);
                //writer.WriteEndElement();
            }