コード例 #1
0
        private void tsbEditar_Click(object sender, EventArgs e)
        {
            if (dgvDatos.SelectedRows.Count == 0)
            {
                return;
            }

            var            r = dgvDatos.SelectedRows[0];
            var            propiedadListDto      = r.Tag as PropiedadListDto;
            var            propiedadListDtoCopia = (PropiedadListDto)propiedadListDto.Clone();
            FrmPropiedadAE frm = DI.Create <FrmPropiedadAE>();

            frm.Text = "Editar Propiedad";
            PropiedadEditDto propiedadEditDto = _servicio.GetPropiedadPorId(propiedadListDto.PropiedadId);

            frm.SetPropiedad(propiedadEditDto);
            DialogResult dr = frm.ShowDialog(this);

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

            propiedadEditDto = frm.GetPropiedad();
            if (_servicio.Existe(propiedadEditDto))
            {
                MessageBox.Show(" Registro repetido :/ ", "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                SetearFila(r, propiedadListDtoCopia);
                return;
            }
            try
            {
                _servicio.Guardar(propiedadEditDto);
                propiedadListDto = _mapper.Map <PropiedadListDto>(propiedadEditDto);

                propiedadListDto.Provincia = (_servicioProvincia
                                              .GetProvinciaPorId(propiedadEditDto.ProvinciaId)).NombreProvincia;

                propiedadListDto.Localidad = (_servicioLocalidad
                                              .GetLocalidadPorId(propiedadEditDto.LocalidadId)).NombreLocalidad;

                propiedadListDto.TipoOperacion = (_servicioTipoOperacion
                                                  .GetTipoOperacionPorId(propiedadEditDto.TipoOperacionId)).DescripcionTO;

                propiedadListDto.TipoPropiedad = (_servicioTipoPropiedad
                                                  .GetTipoPropiedadPorId(propiedadEditDto.TipoPropiedadId)).DescripcionTP;

                propiedadListDto.Cliente = (_servicioCliente
                                            .GetClientePorId(propiedadEditDto.ClienteId)).Apellido;



                SetearFila(r, propiedadListDto);
                MessageBox.Show(" Registro modificado :) ", "Mensaje",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                SetearFila(r, propiedadListDtoCopia);
            }
        }