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

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

            if (dr == DialogResult.OK)
            {
                try
                {
                    CursoEditDto cursoEditDto = frm.GetCurso();
                    if (!servicio.Existe(cursoEditDto))
                    {
                        servicio.Guardar(cursoEditDto);
                        CursoListDto cursoListDto = Mapeador.CrearMapper()
                                                    .Map <CursoEditDto, CursoListDto>(cursoEditDto);
                        DataGridViewRow r = ConstruirFila();
                        SetearFila(r, cursoListDto);
                        AgregarFila(r);
                        MetroMessageBox.Show(this, "Registro Agregado", "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);
                }
            }
        }
 private void mgDatos_CellContentClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == 2)
     {
         //Ver info del curso
         DataGridViewRow r        = mgDatos.SelectedRows[0];
         CursoListDto    cursoDto = (CursoListDto)r.Tag;
         try
         {
             CursoMasInfoDto cursoMasInfoDto = servicio.GetMasDatos(cursoDto.CursoId);
             FrmInfoCurso    frm             = new FrmInfoCurso();
             frm.SetCurso(cursoMasInfoDto);
             frm.ShowDialog(this);
         }
         catch (Exception exception)
         {
             Console.WriteLine(exception);
             throw;
         }
     }
     else if (e.ColumnIndex == 3)
     {
         DataGridViewRow r        = mgDatos.SelectedRows[0];
         CursoListDto    cursoDto = (CursoListDto)r.Tag;
         try
         {
             DialogResult dr = MetroMessageBox.Show(this, $"¿Desea dar de baja el curso {cursoDto.Nombre}?",
                                                    "Confirmar Baja", MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                                    MessageBoxDefaultButton.Button2);
             if (dr == DialogResult.Yes)
             {
                 //CursoEditDto cursoEditDto = Mapeador.CrearMapper().Map<CursoListDto, CursoEditDto>(cursoDto);
                 if (!servicio.EstaRelacionado(cursoDto))
                 {
                     servicio.Borrar(cursoDto.CursoId);
                     MetroMessageBox.Show(this, "Registro Borrado", "Mensaje",
                                          MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     mgDatos.Rows.Remove(r);
                 }
                 else
                 {
                     MetroMessageBox.Show(this, "Curso relacionado",
                                          "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
         }
         catch (Exception exception)
         {
             MetroMessageBox.Show(this, exception.Message,
                                  "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else if (e.ColumnIndex == 4)
     {
         DataGridViewRow r         = mgDatos.SelectedRows[0];
         CursoListDto    cursoDto  = (CursoListDto)r.Tag;
         CursoEditDto    cursoEdit = servicio.GetCursoPorId(cursoDto.CursoId);
         FrmCursoAE      frm       = new FrmCursoAE();
         frm.SetCurso(cursoEdit);
         DialogResult dr = frm.ShowDialog(this);
         if (dr == DialogResult.OK)
         {
             try
             {
                 cursoEdit = frm.GetCurso();
                 if (!servicio.Existe(cursoEdit))
                 {
                     servicio.Guardar(cursoEdit);
                     cursoDto = Mapeador.CrearMapper().Map <CursoEditDto, CursoListDto>(cursoEdit);
                     SetearFila(r, cursoDto);
                     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);
             }
         }
     }
 }