Ejemplo n.º 1
0
        void CheckForDBConnection()
        {
            try
            {
                //check to see if connectionstring will open connection with db
                var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
                var connstring = connectionStringsSection.ConnectionStrings["ServerConnectionString"].ConnectionString;
                Debug.WriteLine("connectionString from configmanager is: " + connstring);

                bool dumbBool = false;
                //var efconfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None,);
                using (ctx = new DeviceBatchContext(connstring))
                {
                    Debug.WriteLine("ctx.Database.Connection.ConnectionString: " + ctx.Database.Connection.ConnectionString);
                    if (ctx.Database.Exists())
                    {
                        Debug.WriteLine("ctx.Database.Exists()==true");
                        var firstDevBatch = ctx.DeviceBatches.First();
                        Debug.WriteLine("Successfully opened DB connection. First DevBatch.Name is " + firstDevBatch.Name);
                    }
                    else
                    {
                        Debug.WriteLine("ctx.Database.Exists()==false");
                        ctx.Dispose();
                        dumbBool = true;
                        //PromptForDBCredentials();
                    }
                }
                if (dumbBool)
                {
                    PromptForDBCredentials();
                    CheckForDBConnection();
                }
                //ctx.Database.Connection.ConnectionString = connstring;
                //ctx.Database.Connection.Open();
            }
            catch (SqlException e)
            {
                Debug.WriteLine("SqlException: " + e.ToString());
                //ctx.Dispose();
                //System.Windows.MessageBox.Show(e.ToString());
                //ctx.Database.Connection.Close();
                PromptForDBCredentials();
                CheckForDBConnection();
            }
            catch (Exception e)
            {
                Debug.WriteLine("Exception: " + e.ToString());
                //ctx.Dispose();
                PromptForDBCredentials();
                CheckForDBConnection();
            }
        }