public void SetCurso(CursoMasInfoDto cursoMasInfoDto)
 {
     cursoDto = cursoMasInfoDto;
 }
 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);
             }
         }
     }
 }