예제 #1
0
        public static bool TestConnectionString(Session session, DatabaseSetupInfo dbInfo, bool databaseShouldBeNew, bool userInterfaceEnabled)
        {
            string message = "";

            dbInfo.UseExistingDatabase = false;
            session["DB_Valid"]        = "False";

            Func <bool> asker = userInterfaceEnabled ?
                                () => MessageBox.Show(session.InstallerWindowWrapper(), Messages.DatabaseAlreadyExistsDoYouWantToUseExisting, "", MessageBoxButtons.YesNo) == DialogResult.Yes
                : null as Func <bool>;

            if (dbInfo.Validate(ref message))
            {
                if (dbInfo.ValidateDatabaseExistence(databaseShouldBeNew, asker, ref message))
                {
                    session["DB_Valid"] = "True";
                    return(true);
                }
                else
                {
                    session["DB_Valid"] = message;
                    if (userInterfaceEnabled && !databaseShouldBeNew)
                    {
                        MessageBox.Show(session.InstallerWindowWrapper(), message, "", MessageBoxButtons.OK);
                    }
                    return(false);
                }
            }
            else
            {
                session["DB_Valid"] = message;
                if (userInterfaceEnabled)
                {
                    MessageBox.Show(session.InstallerWindowWrapper(), message, "", MessageBoxButtons.OK);
                }
                return(false);
            }
        }