using System;

using System.Xml;

using System.Xml.Serialization;

 

 

namespace DesignStudioMag._11_2005_ApplicationConfiguration.Web

{

 

      /// <summary>

      /// Class used to read an XML based configuration

      /// </summary>

      public class AppConfigData

      {

 

            //

            // Constructors

            //

 

 

            /// <summary>

            /// Creates a new instance of a AppConfigData object

            /// </summary>

            /// <remarks>Default public constructor used for deserialization of the XML file</remarks>

            public AppConfigData ()

            {

 

                  // Local Variables

 

                  // Begin

 

                  this.CultureInfo              = "";

 

                  this.DatabaseConnectionString = "";

 

                  this.ImagesFilePath           = "";

 

            }// end AppConfigData

 

 

            //

            // Methods

            //

 

 

            /// <summary>

            /// Reads the configuration from the XML file

            /// </summary>

            public void Read ()

            {

 

                  // Local Variables

                  AppConfigData acd = null;

                  XmlSerializer xs  = new XmlSerializer(typeof(AppConfigData));

                  XmlTextReader xtr = null;

 

                  // Begin

 

                  try

                  {

 

                        if ( File.Exists(System.Web.HttpContext.Current.Server.MapPath("AppConfigData.xml")) )

                        {

 

                              xtr = new XmlTextReader(File.OpenText(System.Web.HttpContext.Current.Server.MapPath("AppConfigData.xml")));

 

                              acd = new AppConfigData();

                              acd = (AppConfigData) xs.Deserialize(xtr);

 

                              this.CultureInfo              = acd.CultureInfo;

                              this.DatabaseConnectionString = acd.DatabaseConnectionString;

                              this.ImagesFilePath           = acd.ImagesFilePath;

 

                              xtr.Close();

 

                        }// end if

 

                  }// end try

                  catch

                  {

 

                        /* none */

 

                  }// end catch

 

            }// end Read

 

 

            //

            // Properties

            //

 

 

            private string _dbConnString;

            /// <summary>

            /// Gets or sets connection string to the database

            /// </summary>

            [XmlElement("DatabaseConnectionString")]

            public string DatabaseConnectionString

            {

 

                  get { return this._dbConnString; }

                  set { this._dbConnString = value; }

 

            }// end DatabaseConnectionString

 

 

            private string _imagesFilePath;

            /// <summary>

            /// Gets or sets physical path to the images directory

            /// </summary>

            [XmlElement("ImagesFilePath")]

            public string ImagesFilePath

            {

 

                  get { return this._imagesFilePath; }

                  set { this._imagesFilePath = value; }

 

            }// end ImagesFilePath

 

 

            private string _cultureInfo;

            /// <summary>

            /// Gets or sets culture setting of the application instance

            /// </summary>

            [XmlElement("CultureInfo")]

            public string CultureInfo

            {

 

                  get { return this._cultureInfo; }

                  set { this._cultureInfo = value; }

 

            }// end cultureInfo

 

      }// end class Configuration

 

}// end namespace DesignStudioMag._11_2005_ApplicationConfiguration.Web

for(var i=0;i