Exemplo n.º 1
0
        private void btnModificar_Click(object sender, EventArgs e)
        {
            var currentRow = dgvAutores.CurrentRow;
            if (currentRow != null)
            {
                Autor autor = new Autor
                                    {
                                        Nombre = currentRow.Cells["nombreDataGridViewTextBoxColumn"].Value.ToString(),
                                        Nacionalidad =
                                            currentRow.Cells["nacionalidadDataGridViewTextBoxColumn"].Value.ToString(),
                                        Nacimiento =
                                            currentRow.Cells["nacimientoDataGridViewTextBoxColumn"].Value.ToString(),
                                        Muerte = currentRow.Cells["muerteDataGridViewTextBoxColumn"].Value.ToString()
                                    };

                var autorInfoForm = new AutoresInfoForm(autor);
                if (autorInfoForm.ShowDialog() == DialogResult.OK)
                {
                    if (autorInfoForm.Autor != null)
                    {
                        if (IsConnected)
                        {
                            autoresTableAdapter.Update(autorInfoForm.Autor.Nombre, autorInfoForm.Autor.Nacimiento,
                                                    autorInfoForm.Autor.Muerte, autorInfoForm.Autor.Nacionalidad,
                                                    Convert.ToInt32(
                                                        currentRow.Cells["idAutorDataGridViewTextBoxColumn"].Value));
                            autoresTableAdapter.Fill(librosDataSet.autores); // IMPORTANTE!!! Si se quita esta línea no se actualizará el dataGridView.
                        }
                        else
                        {
                            librosDataSet.autores[currentRow.Index].Nombre = autorInfoForm.Autor.Nombre;
                            librosDataSet.autores[currentRow.Index].Nacimiento = autorInfoForm.Autor.Nacimiento;
                            librosDataSet.autores[currentRow.Index].Nacimiento = autorInfoForm.Autor.Nacimiento;
                            librosDataSet.autores[currentRow.Index].Muerte = autorInfoForm.Autor.Muerte;

                            dgvAutores.DataSource = librosDataSet.autores;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        public AutoresInfoForm(Autor autor = null)
        {
            InitializeComponent();
            Autor = autor;

            if (autor != null)
            {
                txtNombre.Text = autor.Nombre;
                txtNacionalidad.Text = autor.Nacionalidad;
                string[] blabla = autor.Nacimiento.Split(';');
                txtLugarNacimiento.Text = blabla[0];
                string[] ddd = blabla[1].Split(new string[] { "de" }, StringSplitOptions.None);
                DateTime nacimiento;

                if (ddd[1].Contains("enero"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 1, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("febrero"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 2, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("marzo"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 3, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("abril"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 4, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("mayo"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 5, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("junio"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 6, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("julio"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 7, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("agosto"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 8, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("septiembre"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 9, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("octubre"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 10, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("noviembre"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 11, int.Parse(ddd[0]));
                }
                else if (ddd[1].Contains("diciembre"))
                {
                    nacimiento = new DateTime(int.Parse(ddd[2]), 12, int.Parse(ddd[0]));
                }
                else
                {
                    nacimiento = new DateTime();
                }

                try
                {
                    dtNacimiento.Value = nacimiento;
                }
                catch (ArgumentOutOfRangeException)
                {
                    MessageBox.Show(this,
                                    "Error al obtener información de la base de datos.\nVerifique que el mes esté en el formato correcto.\nSe mostrará la fecha de Nacimiento como el día de hoy.\n\nTip: Generalmente es ocasionado por tener el número del mes y no el nombre.",
                                    "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                string[] blabla1 = autor.Muerte.Split(';');
                txtLugarMuerte.Text = blabla1[0];

                if (blabla1.Length == 2)
                {
                    string[] strings = blabla1[1].Split(new string[] { "de" }, StringSplitOptions.None);
                    DateTime muerte;

                    if (strings[1].Contains("enero"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 1, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("febrero"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 2, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("marzo"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 3, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("abril"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 4, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("mayo"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 5, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("junio"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 6, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("julio"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 7, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("agosto"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 8, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("septiembre"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 9, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("octubre"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 10, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("noviembre"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 11, int.Parse(strings[0]));
                    }
                    else if (strings[1].Contains("diciembre"))
                    {
                        muerte = new DateTime(int.Parse(strings[2]), 12, int.Parse(strings[0]));
                    }
                    else
                    {
                        muerte = new DateTime();
                    }
                    try
                    {
                        dtMuerte.Value = muerte;
                    }
                    catch (ArgumentOutOfRangeException)
                    {
                        MessageBox.Show(this,
                                        "Error al obtener información de la base de datos.\nVerifique que el mes esté en el formato correcto.\nSe mostrará la fecha de Muerte como el día de hoy.\n\nTip: Generalmente es ocasionado por tener el número del mes y no el nombre.",
                                        "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                Autor = new Autor();
            }
        }