private void mbtNuevo_Click(object sender, EventArgs e)
        {
            FrmProfesorAE frm = new FrmProfesorAE();

            frm.Text = "Nuevo profesor...";
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.OK)
            {
                try
                {
                    ProfesorEditDto profesorEditDto = frm.GetProfesor();

                    servicio.Guardar(profesorEditDto);
                    DataGridViewRow r = ConstruirFila();
                    ProfesorListDto profesorListDto = Mapeador.CrearMapper().Map <ProfesorListDto>(profesorEditDto);
                    SetearFila(r, profesorListDto);
                    AgregarFila(r);
                    MetroMessageBox.Show(this, "Registro agregado", "Mensaje",
                                         MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception exception)
                {
                    MetroMessageBox.Show(this, exception.Message, "Error",
                                         MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void mgDatos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow r = mgDatos.SelectedRows[0];
            ProfesorListDto profesorListDto = (ProfesorListDto)r.Tag;

            if (e.ColumnIndex == 1)
            {
                DialogResult dr = MetroMessageBox.Show(this,
                                                       $"¿Desea dar de baja al profesor {profesorListDto.NombreCompleto}?",
                                                       "Confirmar Baja",
                                                       MessageBoxButtons.YesNo,
                                                       MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (dr == DialogResult.Yes)
                {
                    try
                    {
                        if (!servicio.EstaRelacionado(profesorListDto))
                        {
                            servicio.Borrar(profesorListDto.ProfesorId);
                            mgDatos.Rows.Remove(r);
                            MetroMessageBox.Show(this, "Registro borrado",
                                                 "Mensaje",
                                                 MessageBoxButtons.OK,
                                                 MessageBoxIcon.Information);
                        }
                    }
                    catch (Exception exception)
                    {
                        MetroMessageBox.Show(this, exception.Message,
                                             "Error",
                                             MessageBoxButtons.OK,
                                             MessageBoxIcon.Error);
                    }
                }
            }
            else if (e.ColumnIndex == 2)
            {
                ProfesorEditDto profesorEditDto = servicio.GetProfesorPorId(profesorListDto.ProfesorId);
                FrmProfesorAE   frm             = new FrmProfesorAE();
                frm.Text = "Editar Profesor";
                frm.SetProfesor(profesorEditDto);
                DialogResult dr = frm.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    try
                    {
                        profesorEditDto = frm.GetProfesor();
                        servicio.Guardar(profesorEditDto);
                        profesorListDto = Mapeador.CrearMapper().Map <ProfesorListDto>(profesorEditDto);
                        SetearFila(r, profesorListDto);
                        MetroMessageBox.Show(this, "Registro Editado", "Mensaje",
                                             MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception exception)
                    {
                        MetroMessageBox.Show(this, exception.Message, "Error",
                                             MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }