private void mbtNuevo_Click(object sender, EventArgs e)
        {
            FrmAlumnoAE frm = DI.Create <FrmAlumnoAE>();

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

            if (dr == DialogResult.OK)
            {
                try
                {
                    AlumnoEditDto alumnoEditDto = frm.GetAlumno();

                    servicio.Guardar(alumnoEditDto);
                    DataGridViewRow r             = ConstruirFila();
                    AlumnoListDto   alumnoListDto = Mapeador.CrearMapper().Map <AlumnoListDto>(alumnoEditDto);
                    SetearFila(r, alumnoListDto);
                    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];
            AlumnoListDto   alumnoListDto = (AlumnoListDto)r.Tag;

            if (e.ColumnIndex == 1)
            {
                DialogResult dr = MetroMessageBox.Show(this,
                                                       $"¿Desea dar de baja al alumno {alumnoListDto.NombreCompleto}?",
                                                       "Confirmar Baja",
                                                       MessageBoxButtons.YesNo,
                                                       MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (dr == DialogResult.Yes)
                {
                    try
                    {
                        if (!servicio.EstaRelacionado(alumnoListDto))
                        {
                            servicio.Borrar(alumnoListDto.AlumnoId);
                            mgDatos.Rows.Remove(r);
                            MetroMessageBox.Show(this, "Registro borrado",
                                                 "Mensaje",
                                                 MessageBoxButtons.OK,
                                                 MessageBoxIcon.Information);
                        }
                        else
                        {
                            Helper.MostrarMensaje(this, "Registro relacionado", Tipo.Error);
                        }
                    }
                    catch (Exception exception)
                    {
                        MetroMessageBox.Show(this, exception.Message,
                                             "Error",
                                             MessageBoxButtons.OK,
                                             MessageBoxIcon.Error);
                    }
                }
            }
            else if (e.ColumnIndex == 2)
            {
                AlumnoEditDto alumnoEditDto = servicio.GetAlumnoPorId(alumnoListDto.AlumnoId);
                FrmAlumnoAE   frm           = DI.Create <FrmAlumnoAE>();
                frm.Text = "Editar Alumno";
                frm.SetAlumno(alumnoEditDto);
                DialogResult dr = frm.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    try
                    {
                        alumnoEditDto = frm.GetAlumno();

                        if (!servicio.Existe(alumnoEditDto))
                        {
                            servicio.Guardar(alumnoEditDto);
                            alumnoListDto = Mapeador.CrearMapper().Map <AlumnoListDto>(alumnoEditDto);
                            SetearFila(r, alumnoListDto);
                            MetroMessageBox.Show(this, "Registro Editado", "Mensaje",
                                                 MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            Helper.MostrarMensaje(this, "Registro repetido", Tipo.Error);
                        }
                    }
                    catch (Exception exception)
                    {
                        MetroMessageBox.Show(this, exception.Message, "Error",
                                             MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }