/*Tracking - End */

        public void Save(Configuration configuration)
        {
            EyediaCoreConfigurationSection coreSection = (EyediaCoreConfigurationSection)configuration.GetSection("eyediaCoreConfigurationSection");

            coreSection.InstanceName       = InstanceName;
            coreSection.HostingEnvironment = HostingEnvironment;
            coreSection.AuthenticationType = AuthenticationType;
            coreSection.AuthorizedGroups   = AuthorizedGroups;
            coreSection.Cache            = Cache;
            coreSection.Debug            = Debug;
            coreSection.TempDirectory    = TempDirectory;
            coreSection.OutDirectory     = OutDirectory;
            coreSection.RecordsPerThread = RecordsPerThread;
            coreSection.MaxThreads       = MaxThreads;
            coreSection.CurrentCulture   = CurrentCulture;

            coreSection.Database.DatabaseType = DatabaseType;

            coreSection.Email.Enabled           = EmailEnabled;
            coreSection.Email.SmtpServer        = SmtpServer;
            coreSection.Email.FromEmail         = FromEmail;
            coreSection.Email.FromDisplayName   = FromDisplayName;
            coreSection.Email.ToEmails          = ToEmails;
            coreSection.Email.UserName          = UserName;
            coreSection.Email.Password          = Password;
            coreSection.Email.MaxNumberOfEmails = MaxNumberOfEmails;

            coreSection.Trace.Enabled    = TraceEnabled;
            coreSection.Trace.File       = File;
            coreSection.Trace.Filter     = Filter;
            coreSection.Trace.EmailError = EmailError;

            coreSection.Tracking.Enabled                  = TrackingEnabled;
            coreSection.Tracking.PerformanceCounter       = PerformanceCounter;
            coreSection.Tracking.SilientBusinessRuleError = SilientBusinessRuleError;
            coreSection.Tracking.UpdateMatrix             = UpdateMatrix;
            coreSection.Tracking.UpdateMatrixFormat       = UpdateMatrixFormat;
            coreSection.Tracking.Value = Value;

            configuration.ConnectionStrings.ConnectionStrings["cs"].ConnectionString = ConnectionString;
            configuration.Save();
        }
        public EyediaCoreConfigurationSectionEditable(Configuration configuration)
        {
            EyediaCoreConfigurationSection sreSection = (EyediaCoreConfigurationSection)configuration.GetSection("eyediaCoreConfigurationSection");

            InstanceName       = sreSection.InstanceName;
            HostingEnvironment = sreSection.HostingEnvironment;
            AuthenticationType = sreSection.AuthenticationType;
            AuthorizedGroups   = sreSection.AuthorizedGroups;
            Cache            = sreSection.Cache;
            Debug            = sreSection.Debug;
            TempDirectory    = sreSection.TempDirectory;
            OutDirectory     = sreSection.OutDirectory;
            RecordsPerThread = sreSection.RecordsPerThread;
            MaxThreads       = sreSection.MaxThreads;
            CurrentCulture   = sreSection.CurrentCulture;

            DatabaseType     = sreSection.Database.DatabaseType;
            ConnectionString = configuration.ConnectionStrings.ConnectionStrings["cs"].ConnectionString;

            EmailEnabled      = sreSection.Email.Enabled;
            SmtpServer        = sreSection.Email.SmtpServer;
            FromEmail         = sreSection.Email.FromEmail;
            FromDisplayName   = sreSection.Email.FromDisplayName;
            ToEmails          = sreSection.Email.ToEmails;
            UserName          = sreSection.Email.UserName;
            Password          = sreSection.Email.Password;
            MaxNumberOfEmails = sreSection.Email.MaxNumberOfEmails;

            TraceEnabled = sreSection.Trace.Enabled;
            File         = sreSection.Trace.File;
            Filter       = sreSection.Trace.Filter;
            EmailError   = sreSection.Trace.EmailError;

            TrackingEnabled          = sreSection.Tracking.Enabled;
            PerformanceCounter       = sreSection.Tracking.PerformanceCounter;
            SilientBusinessRuleError = sreSection.Tracking.SilientBusinessRuleError;
            UpdateMatrix             = sreSection.Tracking.UpdateMatrix;
            UpdateMatrixFormat       = sreSection.Tracking.UpdateMatrixFormat;
            Value = sreSection.Tracking.Value;
        }