示例#1
0
        public void Execute(bool isNormalExecution = true)
        {
            try
            {
                bool blnapperr = false;
                //do the code when bgv completes its work
                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 hostName            = new CommandParameter(null, FormElements.Credential.MachineHostName);
                var port                = new CommandParameter(null, FormElements.Credential.MachinePortNumber);
                var sqlWindowsAuthParam = new CommandParameter(null, FormElements.Credential.SqlAuthMode);
                var sqlServerParam      = new CommandParameter(null, FormElements.Credential.SqlInstanceName);
                var sqlUserName         = new CommandParameter(null, FormElements.Credential.SqlUserName);
                var sqlPwd              = new CommandParameter(null, FormElements.Credential.SqlPassword);

                myCommand.Parameters.Add(hostName);
                myCommand.Parameters.Add(port);

                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.ApplicationInformation)
                {
                    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 blnapperr);
                // CSV or Error file Generation code

                if (blnapperr)
                {
                    //MessageBox.Show("Error Occured.for more detail kindly check Application Log!!\r\n", "Error Message");
                    //return;
                }
                else
                {
                    var profileHelper = new ProfileHelper();
                    profileHelper.SetBaseClassValues(FormElements);

                    if (isNormalExecution)
                    {
                        profileHelper.SetProfileData <ApplicationModel>(Application.ExecutablePath, scriptName, FormElements, chklstApp);
                    }
                }
                runspace.Close();

                if (isNormalExecution)
                {
                    Applicationlogs frmapplog = new Applicationlogs();
                    DialogResult    dr        = frmapplog.ShowDialog(this);
                    if (dr == DialogResult.Cancel)
                    {
                        //this.Enabled = true;
                        //ApplicationInformation objapp = new ApplicationInformation();
                        //objapp.Show();
                        //this.Close();
                        //frmapplog.Close();
                    }
                    else if (dr == DialogResult.OK)
                    {
                        this.Enabled = true;
                        IISInformation objfrm = new IISInformation();
                        objfrm.Show();
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Occured.for more detail kindly check Application 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();
        }