示例#1
0
        private void btnEditar_Click(object sender, EventArgs e)
        {
            if (dgvDatos.SelectedRows.Count == 0)
            {
                return;
            }

            DataGridViewRow r = dgvDatos.SelectedRows[0];
            var             localidadListDto = r.Tag as LocalidadListDto;
            var             localidadCopia   = (LocalidadListDto)localidadListDto.Clone();
            frmLocalidadAE  frm = DI.Create <frmLocalidadAE>();

            frm.Titulo("Editar Localidad");
            LocalidadEditDto localidadEditDto = servicio.GetLocalidadPorId(localidadListDto.LocalidadId);

            frm.SetLocalidad(localidadEditDto);
            DialogResult dr = frm.ShowDialog(this);

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

            localidadEditDto = frm.GetLocalidad();
            if (servicio.Existe(localidadEditDto))
            {
                frmMessageBox messageBox = new frmMessageBox();
                messageBox.Show();
                messageBox.ShowError("Localidad Existente", $"{localidadEditDto.NombreLocalidad} ya existe en la base de datos");
                SetearFila(r, localidadCopia);
                return;
            }
            try
            {
                servicio.Guardar(localidadEditDto);
                var lListDto = mapper.Map <LocalidadListDto>(localidadEditDto);
                localidadListDto.Provincia = (servicioProvincia
                                              .GetProvinciaId(localidadEditDto.ProvinciaId))
                                             .NombreProvincia;
                SetearFila(r, lListDto);
                frmMessageBox messageBox = new frmMessageBox();
                messageBox.Show();
                messageBox.ShowInfo("Localidad Editada", $"{lListDto.NombreLocalidad} " +
                                    $"ah sido editada correctamente");
            }
            catch (Exception)
            {
                frmMessageBox messageBox = new frmMessageBox();
                messageBox.Show();
                messageBox.ShowError("Error", $"Ocurrio un problema no se pudo completar la transaccion. Intentelo nuevamente.");
            }
        }
示例#2
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            frmLocalidadAE frm = DI.Create <frmLocalidadAE>();

            frm.Titulo("Nueva Localidad");
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.OK)
            {
                try
                {
                    LocalidadEditDto localidadEditDto = frm.GetLocalidad();
                    if (servicio.Existe(localidadEditDto))
                    {
                        frmMessageBox messageBox = new frmMessageBox();
                        messageBox.Show();
                        messageBox.ShowError("Localidad Existente", $"{localidadEditDto.NombreLocalidad} ya existe en la base de datos");
                    }
                    servicio.Guardar(localidadEditDto);
                    DataGridViewRow  r = ConstruirFila();
                    LocalidadListDto localidadListDto = mapper.Map <LocalidadListDto>(localidadEditDto);
                    localidadListDto.Provincia = (servicioProvincia
                                                  .GetProvinciaId(localidadEditDto.ProvinciaId))
                                                 .NombreProvincia;
                    SetearFila(r, localidadListDto);
                    AgregarFila(r);
                    frmMessageBox frmMessage = new frmMessageBox();
                    frmMessage.Show();
                    frmMessage.ShowInfo("Registro Agregado", $"{localidadListDto.NombreLocalidad} ya a sido agergado");
                }
                catch (Exception)
                {
                    frmMessageBox frmMessage = new frmMessageBox();
                    frm.Show();
                    frmMessage.ShowError("Error", $"El registro no se pudo agregar. Intentelo nuevamente");
                }
            }
        }