Esempio n. 1
0
        private void tsbEditar_Click(object sender, EventArgs e)
        {
            if (dgvDatos.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow r = dgvDatos.SelectedRows[0];
            ClienteListDto  clienteListDto         = (ClienteListDto)r.Tag;
            ClienteListDto  clienteListDtoAuxiliar = (ClienteListDto)clienteListDto.Clone();
            FrmClientesAE   frm            = new FrmClientesAE();
            ClienteEditDto  clienteEditDto = _servicio.GetClientePorId(clienteListDto.ClienteId);

            frm.Text = "Editar Cliente";
            frm.SetCliente(clienteEditDto);
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                return;
            }

            try
            {
                clienteEditDto = frm.GetCliente();
                //Controlar repitencia

                if (!_servicio.Existe(clienteEditDto))
                {
                    _servicio.Guardar(clienteEditDto);
                    clienteListDto.ClienteId      = clienteEditDto.ClienteId;
                    clienteListDto.NombreCompania = clienteEditDto.NombreCompania;
                    clienteListDto.Pais           = clienteEditDto.Pais.NombrePais;
                    clienteListDto.Ciudad         = clienteEditDto.Ciudad.NombreCiudad;

                    SetearFila(r, clienteListDto);
                    MessageBox.Show("Registro Agregado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    SetearFila(r, clienteListDtoAuxiliar);
                    MessageBox.Show("Registro ya existente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception exception)
            {
                SetearFila(r, clienteListDtoAuxiliar);

                MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }