public void Execute(bool isNormalExecution = true)
        {
            try
            {
                bool          blnsqlerr  = false;
                var           _rootpath  = Path.Combine(System.IO.Path.GetDirectoryName(Application.ExecutablePath), "Resources");
                string        script     = Path.Combine(_rootpath, scriptName + ".ps1");
                string        scriptText = File.ReadAllText(script);
                StringBuilder sb         = new StringBuilder();
                var           powershell = new PowerShellHelper();
                var           runspace   = powershell.CreateRunSpace(Application.ExecutablePath, scriptName);
                runspace.Open();
                Pipeline pipeline  = runspace.CreatePipeline();
                Command  myCommand = new Command(scriptText, true);

                var sqlWindowsAuthParam = new CommandParameter(null, "w");
                var sqlServerParam      = new CommandParameter(null, FormElements.Credential.SqlInstanceName);
                var sqlUserName         = new CommandParameter(null, FormElements.Credential.SqlUserName);
                var sqlPwd = new CommandParameter(null, FormElements.Credential.SqlPassword);


                if (string.IsNullOrEmpty(FormElements.Credential.SqlDatabaseName))
                {
                    myCommand.Parameters.Add(new CommandParameter(null, FormElements.Credential.SqlDatabaseName));
                }
                else
                {
                    myCommand.Parameters.Add(new CommandParameter(null, "master"));
                }

                if (FormElements.Credential.SqlAuthMode != "w")
                {
                    sqlWindowsAuthParam = new CommandParameter(null, "network");
                }

                myCommand.Parameters.Add(sqlWindowsAuthParam);
                myCommand.Parameters.Add(sqlServerParam);

                myCommand.Parameters.Add(sqlUserName);
                myCommand.Parameters.Add(sqlPwd);

                foreach (var item in FormElements.SQLServer)
                {
                    if (chklstApp.CheckedIndices.Contains(item.id))
                    {
                        var param5 = new CommandParameter(null, 1);
                        myCommand.Parameters.Add(param5);
                    }
                    else
                    {
                        var param5 = new CommandParameter(null, 0);
                        myCommand.Parameters.Add(param5);
                    }
                }

                pipeline.Commands.Add(myCommand);
                Collection <PSObject> results = pipeline.Invoke();
                var errors = pipeline.Error;
                // CSV or Error file Generation code
                var generateCSV = new Csvhelper();
                generateCSV.WriteOutput(Application.ExecutablePath, scriptName, results, pipeline, this.timeStamp, out blnsqlerr);
                // CSV or Error file Generation code
                if (blnsqlerr)
                {
                    //MessageBox.Show("Error Occured.for more detail kindly check SQL Log!!\r\n", "Error Message");
                    //return;
                }
                else
                {
                    if (isNormalExecution)
                    {
                        var profileHelper = new ProfileHelper();
                        profileHelper.SetProfileData <SQLServerModel>(Application.ExecutablePath, scriptName, FormElements, chklstApp);
                    }
                }

                // Profilecreation();
                runspace.Close();


                //DialogResult dialogResult = MessageBox.Show("SQL Server scripts executed successfully.Do you want to execute next script?", "Success", MessageBoxButtons.YesNo);
                //if (dialogResult == DialogResult.Yes)
                //{
                //    //do something
                //    SSRSConfiguration objfrm = new SSRSConfiguration();
                //    objfrm.Show();
                //    this.Close();
                //}
                //else if (dialogResult == DialogResult.No)
                //{
                //    SQLServer objfrm = new SQLServer();
                //    objfrm.Show();
                //    this.Close();
                //}

                if (isNormalExecution)
                {
                    SQLServerlogs frmsql = new SQLServerlogs();
                    DialogResult  dr     = frmsql.ShowDialog(this);
                    if (dr == DialogResult.Cancel)
                    {
                        //frmapplog.Close();
                    }
                    else if (dr == DialogResult.OK)
                    {
                        //textBox1.Text = frm2.getText();
                        //frmapplog.Close();
                        this.Enabled = true;
                        SSRSConfiguration objfrm = new SSRSConfiguration();
                        objfrm.Show();
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Occured.for more detail kindly check SQL Server Log!!\r\n" + "\r\n" + ex.Message.ToString(), "Error Message");
            }
        }
示例#2
0
        void bgwr_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            var application = new ApplicationInformation();

            application.Execute(false);
            var iisInformation = new IISInformation();

            iisInformation.Execute(false);
            var sqlServerDiagnostics = new SQLServerDiagnostics();

            sqlServerDiagnostics.Execute(false);
            var sqlServer = new SQLServer();

            sqlServer.Execute(false);
            var ssrsConfiguration = new SSRSConfiguration();

            ssrsConfiguration.Execute(false);
            var ssasConfiguration = new SSASConfiguration();

            ssasConfiguration.Execute(false);
            var eventLog = new EventLog();

            eventLog.Execute(false);

            var          frmapplog = new Applicationlogs();
            DialogResult dr        = frmapplog.ShowDialog(this);

            if (dr == DialogResult.OK)
            {
                frmapplog.Close();
                var frmiislogs = new IISInformationlogs();
                var iisDialog  = frmiislogs.ShowDialog(this);
                if (iisDialog == DialogResult.OK)
                {
                    frmiislogs.Close();
                    var frmsqlserverdiagnostics    = new SQLServerDiagnosticslogs();
                    var sqlServerDiagnosticsDialog = frmsqlserverdiagnostics.ShowDialog(this);
                    if (sqlServerDiagnosticsDialog == DialogResult.OK)
                    {
                        frmsqlserverdiagnostics.Close();
                        var sqlServerLogs      = new SQLServerlogs();
                        var sqlServerLogDialog = sqlServerLogs.ShowDialog(this);
                        if (sqlServerLogDialog == DialogResult.OK)
                        {
                            sqlServerLogs.Close();
                            var ssrsLogs      = new SSRSConfigurationLogs();
                            var ssrsLogDialog = ssrsLogs.ShowDialog(this);
                            if (ssrsLogDialog == DialogResult.OK)
                            {
                                ssrsLogs.Close();
                                var ssasLogs      = new SSASConfigurationlogs();
                                var ssasLogDialog = ssasLogs.ShowDialog(this);
                                if (ssasLogDialog == DialogResult.OK)
                                {
                                    ssasLogs.Close();
                                    var eventLogs      = new Eventlogs();
                                    var eventLogDialog = eventLogs.ShowDialog(this);
                                    if (eventLogDialog == DialogResult.OK)
                                    {
                                        eventLogs.Close();
                                        this.Show();
                                    }
                                }
                            }
                        }
                    }
                }
            }
            this.Enabled              = true;
            lblprogress.Visible       = false;
            progressBar1.Visible      = false;
            button2.Enabled           = true;
            oneclickexecution.Enabled = true;
            //ResourceInformation rd = new ResourceInformation();
            //rd.Show();
            //this.Close();
        }