Esempio n. 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Properties.Settings.Default.MantisUser == "")
            {
                var f = new FrmLogin();
                if (f.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                Properties.Settings.Default.MantisUser = f.User;
                Properties.Settings.Default.MantisPass = f.Pass;
                Properties.Settings.Default.Save();
            }

            Datos.MantisEstado.Clear();

            var mantisAProc = Datos.Mantis.Where(m => !EquipoActivo.MantisInternos.Contains(m.Nro)).ToList();

            setStatusText("Buscando en Mantis");
            toolStripProgressBar1.Value   = 0;
            toolStripProgressBar1.Maximum = mantisAProc.Count;

            using (var mantisInfo = new MantisInfo())
            {
                if (mantisInfo.LoginOK)
                {
                    foreach (var row in mantisAProc)
                    {
                        toolStripProgressBar1.Value++;
                        setStatusText($"Buscando en mantis: {row.Nro}  {toolStripProgressBar1.Value}/{toolStripProgressBar1.Maximum}");
                        Refresh();

                        var newMantisEstadoRow = Datos.MantisEstado.NewMantisEstadoRow();
                        newMantisEstadoRow.Nro = row.Nro;
                        mantisInfo.Download(newMantisEstadoRow);
                        Datos.MantisEstado.AddMantisEstadoRow(newMantisEstadoRow);
                    }
                }
                else
                {
                    MessageBox.Show("Error en el login de Mantis");
                }
            }
            dgvMantisEstado.DataSource = Datos.MantisEstado;
            dgvMantisEstado.Refresh();

            CargarDGVEstadoAgrupado();

            setStatusText("");
            toolStripProgressBar1.Value = 0;
        }
        private void btnBuscarMantis_Click(object sender, EventArgs e)
        {
            if (Properties.Settings.Default.MantisUser == "")
            {
                var f = new FrmLogin();
                if (f.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                Properties.Settings.Default.MantisUser = f.User;
                Properties.Settings.Default.MantisPass = f.Pass;
                Properties.Settings.Default.Save();
            }

            Dictionary <string, string> dicIssueTypes = CargarIssueTypes();
            Dictionary <string, string> dicComponents = CargarComponents();

            var mantisAProc = Datos.Mantis.Where(m => !EquipoActivo.MantisInternos.Contains(m.Nro)).ToList();

            setStatusText("Buscando en Mantis");
            toolStripProgressBar1.Value   = 0;
            toolStripProgressBar1.Maximum = 1;

            var nroMantis          = int.Parse(txtNroMantis.Text);
            var newMantisEstadoRow = Datos.MantisEstado.NewMantisEstadoRow();

            newMantisEstadoRow.Nro = nroMantis;

            using (var mantisInfo = new MantisInfo())
            {
                if (mantisInfo.LoginOK)
                {
                    setStatusText($"Buscando en mantis: {nroMantis}");
                    Refresh();

                    mantisInfo.Download(newMantisEstadoRow);
                }
                else
                {
                    MessageBox.Show("Error en el login de Mantis");
                    newMantisEstadoRow = null;
                }
            }
            setStatusText("");
            toolStripProgressBar1.Value = 0;

            if (newMantisEstadoRow == null)
            {
                lblDatosMantis.Text = "Mantis no encontrado";
            }
            else
            {
                cmbComponent.Items.Clear();
                cmbComponent.Items.AddRange(
                    jira.GetProject(txtProjectKey.Text).Components.Select(c => c.Name).ToArray());

                if (cmbIssueType.Items.Count == 0)
                {
                    cmbIssueType.Items.AddRange(dicIssueTypes.Values.ToArray());
                }

                lblDatosMantis.Text = $"{newMantisEstadoRow.Resumen} - {newMantisEstadoRow.Tipo} - {newMantisEstadoRow.Proyecto}";

                cmbIssueType.SelectedItem = dicIssueTypes.ContainsKey(newMantisEstadoRow.Tipo) ? dicIssueTypes[newMantisEstadoRow.Tipo] : "Task";
                var componente = dicComponents.ContainsKey(newMantisEstadoRow.Proyecto) ? dicComponents[newMantisEstadoRow.Proyecto] : newMantisEstadoRow.Proyecto;
                cmbComponent.SelectedItem = componente;

                txtSummary.Text =
                    nroMantis.ToString() + " - [" + componente + "] - " +
                    newMantisEstadoRow.Resumen.Substring(8);
                txtDescription.Text = txtSummary.Text;
                txtComment.Text     = Properties.Settings.Default.MantisUrlBase + Properties.Settings.Default.MantisUrlView + nroMantis.ToString();
                txtLabel.Text       = newMantisEstadoRow.Tipo;
            }
        }