private void tsbEditar_Click(object sender, EventArgs e) { if (dgvDatos.SelectedRows.Count == 0) { return; } var r = dgvDatos.SelectedRows[0]; var tipoOperacionDto = r.Tag as TipoOperacionListDto; var tipoOperacionDtoCopia = (TipoOperacionListDto)tipoOperacionDto.Clone(); FrmTipoOperacionAE frm = DI.Create <FrmTipoOperacionAE>(); frm.Text = "Editar Tipo de Operacion"; TipoOperacionEditDto tipoOperacionEditDto = _mapper.Map <TipoOperacionEditDto>(tipoOperacionDto); frm.SetTipoOperacion(tipoOperacionEditDto); DialogResult dr = frm.ShowDialog(this); if (dr == DialogResult.Cancel) { return; } tipoOperacionEditDto = frm.GetTipoOperacion(); if (_servicio.Existe(tipoOperacionEditDto)) { MessageBox.Show("Registro repetido :/ ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); SetearFila(r, tipoOperacionDtoCopia); return; } try { _servicio.Guardar(tipoOperacionEditDto); var tipoOperacionListDto = _mapper.Map <TipoOperacionListDto>(tipoOperacionEditDto); SetearFila(r, tipoOperacionListDto); MessageBox.Show("Registro modificado :) ", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); SetearFila(r, tipoOperacionDtoCopia); } }