Example #1
0
        /* JiraReportConfig file constructor */
        public JiraReportConfig(string config_file = null)
        {
            /* Init the variables */
            jira_config     = new JiraConfig();
            file_config     = new FileConfig();
            email_config    = new EmailConfig();
            client_config   = new List <ClientConfig>();
            template_config = new TemplateMarkup();

            if (config_file != null)
            {
                if (!LoadConfig(config_file))
                {
                    Console.WriteLine("Unable to read XML config file: " + config_file);
                }
                else
                {
                    Console.WriteLine("XML config file parsed successfully");
                }
            }
        }
        /* Open the config file */
        private void ms_file_OpenConfig_Click(object sender, EventArgs e)
        {
            DialogResult ret = open_config_dialog.ShowDialog();

            if (ret == DialogResult.OK)
            {
                string file = open_config_dialog.FileName;
                jira = new Jira(file);

                /* Now populate the JIRA settings */
                JiraConfig j_config = jira.GetJiraConfig();
                if (j_config.data.ContainsKey("host"))
                {
                    jira_server.Text = j_config.data["host"];
                }
                if (j_config.data.ContainsKey("user"))
                {
                    jira_username.Text = j_config.data["user"];
                }
                if (j_config.data.ContainsKey("pass"))
                {
                    jira_password.Text = j_config.data["pass"];
                }

                /* Now populate the client selection list */
                List <ClientConfig> c_config = jira.GetClientConfigL();
                foreach (ClientConfig client in c_config)
                {
                    if (!client_selection_cb.Items.Contains(client.name["short_name"]))
                    {
                        client_selection_cb.Items.Add(client.name["short_name"]);
                    }
                }

                for (int i = 0; i < client_selection_cb.Items.Count; i++)
                {
                    client_selection_cb.SetItemChecked(i, true);
                }

                /* Now populate the output directory info */
                FileConfig f_config = jira.GetFileConfig();
                if (f_config.output.ContainsKey("output_dir"))
                {
                    report_out_dir_tb.Text = f_config.output["output_dir"];
                }
                if (f_config.output.ContainsKey("output_name"))
                {
                    report_out_name_tb.Text = f_config.output["output_name"];
                }
                if (f_config.output.ContainsKey("output_ext"))
                {
                    report_out_name_tb.Text += "." + f_config.output["output_ext"];
                }

                /* Now populate the email contents */
                EmailConfig e_config = jira.GetEmailConfig();
                if (e_config.email.ContainsKey("email_subject"))
                {
                    email_sub_tb.Text = e_config.email["email_subject"];
                }
                if (e_config.email.ContainsKey("email_template") && (e_config.email["email_template"] != ""))
                {
                    try {
                        string template = System.IO.File.ReadAllText(e_config.email["email_template"]);
                        email_body_tb.Text = template;
                    }
                    catch (Exception ex) {
                        MessageBox.Show("Exception loading email template file: " + ex.Message);
                    }
                }
                else
                {
                    if (e_config.email.ContainsKey("email_body"))
                    {
                        email_body_tb.Text = e_config.email["email_body"];
                    }
                    else
                    {
                        email_body_tb.Text = "";
                    }
                }

                email_selected.Checked = true;
                no_email.Checked       = false;
            }
            else if (ret == DialogResult.Cancel)
            {
                /* Do something here */
            }
            else
            {
                MessageBox.Show("Unable to open specified config file");
            }
        }