public void SerializeDefault(string path)
        {
            this.Reason    = "Default";
            this.Databases = new List <DBRegistrationClass>();
            var dbr = new DBRegistrationClass
            {
                Position     = 1,
                CharSet      = "NONE",
                DatabasePath = "D:\\temp\\test.fdb",
                Alias        = "D:\\temp\\test.fdb",
                Password     = "******",
                User         = "******",
                Active       = true
            };

            this.Databases.Add(dbr);

            var dbr2 = new DBRegistrationClass
            {
                Position     = 2,
                CharSet      = "NONE",
                DatabasePath = "D:\\temp\\test3.fdb",
                Alias        = "D:\\temp\\test3.fdb",
                Password     = "******",
                User         = "******",
                Active       = false
            };

            this.Databases.Add(dbr2);

            this.XMLName = path;
            this.SerializeCurrent("default");
            DataState = EditStateClass.eDataState.Saved;
        }
        public void SerializeCurrent(string reason)
        {
            Stream writer     = new FileStream(this.XMLName, FileMode.Create);
            var    serializer = new XmlSerializer(typeof(DatabaseDefinitions));
            var    q1         = new XmlQualifiedName("", "");

            XmlQualifiedName[] names = { q1 };
            var test = new XmlSerializerNamespaces(names);

            this.Reason    = reason;
            this.Databases = instance.Databases;
            serializer.Serialize(writer, instance, test);
            writer.Close();
            DataState = EditStateClass.eDataState.Saved;
        }
        public void MoveDown(TreeNode tnReg)
        {
            if (tnReg == null)
            {
                return;
            }
            if (tnReg.NextNode == null)
            {
                return;
            }
            int inx1 = Databases.FindIndex(x => x.Alias == tnReg.NextNode.Text);
            int inx2 = Databases.FindIndex(x => x.Alias == tnReg.Text);
            DBRegistrationClass dbr1 = (DBRegistrationClass)Databases[inx1].Clone();
            DBRegistrationClass dbr2 = (DBRegistrationClass)Databases[inx2].Clone();

            int pos = dbr1.Position;

            dbr1.Position   = dbr2.Position;
            dbr2.Position   = pos;
            Databases[inx1] = dbr2;
            Databases[inx2] = dbr1;
            DataState       = EditStateClass.eDataState.UnSaved;
        }
        public bool Deserialize(string FileName)
        {
            try
            {
                XmlSerializer serializer = new XmlSerializer(typeof(DatabaseDefinitions));
                Stream        fs         = new FileStream(FileName, FileMode.Open);
                var           reader     = new XmlTextReader(fs);
                var           PF         = (DatabaseDefinitions)serializer.Deserialize(reader);
                reader.Close();
                this.XMLName   = FileName;
                this.Databases = PF.Databases;

                foreach (DBRegistrationClass dbr in this.Databases)
                {
                    if (string.IsNullOrEmpty(dbr.InitialScriptingPath))
                    {
                        dbr.InitialScriptingPath = StaticVariablesClass.ScriptPath;
                    }
                    if (string.IsNullOrEmpty(dbr.InitialReportPath))
                    {
                        dbr.InitialReportPath = StaticVariablesClass.ReportPath;
                    }
                    if (string.IsNullOrEmpty(dbr.Collation))
                    {
                        dbr.Collation = StaticVariablesClass.Collation;
                    }
                    if (string.IsNullOrEmpty(dbr.CommentEnd))
                    {
                        dbr.CommentEnd = StaticVariablesClass.CommentEnd;
                    }
                    if (string.IsNullOrEmpty(dbr.CommentStart))
                    {
                        dbr.CommentStart = StaticVariablesClass.CommentStart;
                    }
                    if (string.IsNullOrEmpty(dbr.InitialTerminator))
                    {
                        dbr.InitialTerminator = StaticVariablesClass.InitialTerminator;
                    }
                    if (string.IsNullOrEmpty(dbr.AlternativeTerminator))
                    {
                        dbr.AlternativeTerminator = StaticVariablesClass.AlternativeTerminator;
                    }
                    if (string.IsNullOrEmpty(dbr.SingleLineComment))
                    {
                        dbr.SingleLineComment = StaticVariablesClass.SingleLineComment;
                    }
                }

                if (PF.Reason == null)
                {
                    PF.Reason = "none";
                }
                this.Reason = PF.Reason;
                DataState   = EditStateClass.eDataState.Saved;

                TestParams();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseConfigurationCaption", "CannotLoadDatabaseConfiguration", SEMessageBoxButtons.OK, SEMessageBoxIcon.Exclamation, null, new object[] { Environment.NewLine, FileName });
                return(false);
            }
            finally
            {
            }
            return(true);
        }