public void AsignarDatos(EClientes eCliente)
        {
            this.ECliente        = eCliente;
            this.IsEditar        = true;
            this.textBox5.Text   = "Edición de cliente";
            this.btnGuardar.Text = "Actualizar";

            this.txtCodigo.Text  = eCliente.Codigo_cliente;
            this.txtNombres.Text = eCliente.Nombre_cliente;
            this.txtCelular.Text = eCliente.Celular_cliente;
            this.CargarBases();
            this.listaBases.SelectedValue = eCliente.EBase.Id_base;

            DataTable dtDirecciones =
                EDireccion_clientes.BuscarDireccion("ID CLIENTE",
                                                    eCliente.Id_cliente.ToString(), out string rpta);

            if (dtDirecciones != null)
            {
                EDireccion_clientes eDireccion = new EDireccion_clientes(dtDirecciones, 0);
                this.CargarFormularioDireccion();
                this.frmAgregarDireccion.EDireccion = eDireccion;
                this.frmAgregarDireccion.ECliente   = eCliente;
            }
            else
            {
                Mensajes.MensajeInformacion("No hay ninguna dirección registrada", "Entendido");
            }
        }
Example #2
0
        public EVentasEspecial GetAllVentaEspecial(EClientes clientes)
        {
            var            repositorio = new RVentaEspecial();
            var            ventas      = new EVentasEspecial();
            var            registros   = repositorio.GetAllVentaEspecial();
            EVentaEspecial anterior    = null;

            foreach (DataRow registro in registros.Rows)
            {
                var venta = VentaEspecialUtil.InstanciarDesde(registro, clientes);
                if (anterior != null)
                {
                    if (!String.Equals(anterior.Id, venta.Id, StringComparison.Ordinal))
                    {
                        ventas.ListaVentas.Add(anterior);
                    }
                    else
                    {
                        foreach (ECliente c in anterior.Clientes.ListClientes)
                        {
                            venta.Clientes.ListClientes.Add(c);
                        }
                    }
                }
                anterior = venta;
            }
            ventas.ListaVentas.Add(anterior);
            return(ventas);
        }
Example #3
0
        private void BtnIniciar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.VerificarEsquema())
                {
                    string rpta = "OK";
                    MensajeEspera.ShowWait("Cargando");
                    this.CrearTablaErrores();

                    if (this.VerificarClientes(out string consulta))
                    {
                        rpta = EClientes.InsertarClientes(consulta);
                        if (rpta.Equals("OK"))
                        {
                            MensajeEspera.CloseForm();
                            Mensajes.MensajeInformacion("Se importaron los clientes correctamente", "Entendido");
                            this.Close();
                        }
                        else
                        {
                            throw new Exception("Hubo un error al insertar los clientes en la consulta masiva, " + rpta);
                        }
                    }
                    MensajeEspera.CloseForm();
                }
            }
            catch (Exception ex)
            {
                MensajeEspera.CloseForm();
                Mensajes.MensajeErrorCompleto(this.Name, "BtnIniciar_Click",
                                              "Hubo un error al cargar los clientes", ex.Message);
            }
        }
Example #4
0
        private void FrmBuscarClientes_OnDgvDoubleClick(object sender, EventArgs e)
        {
            try
            {
                EClientes       eCliente = (EClientes)sender;
                FrmNuevoCliente frm      = new FrmNuevoCliente
                {
                    TopLevel = false,
                    IsEditar = true
                };

                Form FormComprobado = this.ComprobarExistencia(frm);
                frm.AsignarDatos(eCliente);
                if (FormComprobado != null)
                {
                    FormComprobado.WindowState = FormWindowState.Normal;
                    FormComprobado.Activate();
                }
                else
                {
                    this.panelPrincipal.Controls.Add(frm);
                    this.panelPrincipal.Tag = frm;
                    frm.Show();
                }
                frm.BringToFront();
            }
            catch (Exception ex)
            {
                Mensajes.MensajeErrorCompleto(this.Name, "FrmBuscarClientes_OnDgvDoubleClick",
                                              "Hubo un error con el botón editar cliente", ex.Message);
            }
        }
Example #5
0
        private void FrmCargarClientes_Load(object sender, EventArgs e)
        {
            this.lblResultados.Cursor = Cursors.Hand;
            this.CrearTablaErrores();

            this.dtBarriosExistentes =
                EBarrios.BuscarBarrios("COMPLETO", "", out string rpta);

            this.dtClientesExistentes =
                EClientes.BuscarClientes("COMPLETO", "", out rpta);

            this.DtBases = EBases_clientes.BuscarBases("COMPLETO", "", out rpta);
            if (DtBases != null)
            {
                EBases_clientes eBase = new EBases_clientes(DtBases.Rows[0]);
                this.gbBd.Tag  = eBase;
                this.gbBd.Text = "Base de datos (" + eBase.Alias_base + ")(2)";

                this.listaBases.DataSource            = DtBases;
                this.listaBases.DisplayMember         = "Nombre_base";
                this.listaBases.ValueMember           = "Id_base";
                this.listaBases.SelectedIndexChanged += ListaBases_SelectedIndexChanged;
            }
            else
            {
                Mensajes.MensajeInformacion("No se encontró ninguna base de datos para ligar el cliente", "Entendido");
                foreach (Control c in this.Controls)
                {
                    c.Enabled = false;
                }
            }
        }
        private void BtnEditar_Click(object sender, EventArgs e)
        {
            DataGridViewRow dataGridRow = this.dgvClientes.CurrentRow;

            if (dataGridRow != null)
            {
                if (frmNuevoCliente != null)
                {
                    frmNuevoCliente.Close();
                }

                DataRow   row      = ((DataRowView)dataGridRow.DataBoundItem).Row;
                EClientes eCliente = new EClientes(row);

                frmNuevoCliente = new FrmNuevoCliente
                {
                    Dock            = DockStyle.Fill,
                    FormBorderStyle = FormBorderStyle.None,
                    TopLevel        = false,
                    IsEditar        = true
                };
                frmNuevoCliente.AsignarDatos(eCliente);
                frmNuevoCliente.OnClienteEditSuccess += FrmNuevoCliente_OnClienteAddSuccess;
                this.container = new PoperContainer(frmNuevoCliente);
                frmNuevoCliente.Show();
                this.container.Show(btnAgregar);
            }
        }
 private void DgvClientes_DoubleClick(object sender, EventArgs e)
 {
     try
     {
         DataGridViewRow gridViewRow = this.dgvClientes.CurrentRow;
         if (gridViewRow != null)
         {
             if (this.OnDgvDoubleClick == null)
             {
                 DataRow   dataRow  = ((DataRowView)gridViewRow.DataBoundItem).Row;
                 EClientes eCliente = new EClientes(dataRow);
                 FrmObservarDirecciones frmObservarDirecciones = new FrmObservarDirecciones
                 {
                     StartPosition = FormStartPosition.CenterScreen,
                     IsCarrera     = this.IsCarrera
                 };
                 frmObservarDirecciones.OnBtnDireccionNext += FrmObservarDirecciones_OnBtnDireccionNext;
                 frmObservarDirecciones.AsignarDatos(eCliente);
                 frmObservarDirecciones.ShowDialog();
             }
         }
     }
     catch (Exception ex)
     {
         Mensajes.MensajeErrorCompleto(this.Name, "DgvClientes_DoubleClick",
                                       "Hubo une error con la tabla de datos", ex.Message);
     }
 }
Example #8
0
        private bool VerificarCliente(out EClientes eClienteSalida,
                                      EClientes eClienteEntrada)
        {
            eClienteSalida = eClienteEntrada;
            try
            {
                if (this.gbBd.Tag != null)
                {
                    EBases_clientes eBase = (EBases_clientes)this.gbBd.Tag;
                    eClienteSalida.EBase = eBase;
                }
                else
                {
                    return(false);
                }

                if (!eClienteEntrada.Codigo_cliente.Equals(""))
                {
                    if (dtClientesExistentes != null)
                    {
                        //Falta que busque la base que es

                        DataRow[] rows2 =
                            dtClientesExistentes.Select("Codigo_cliente = '" + eClienteEntrada.Codigo_cliente + "' and " +
                                                        "Id_base = " + eClienteSalida.EBase.Id_base);

                        if (rows2.Length > 0)
                        {
                            eClienteSalida = new EClientes(rows2[0]);
                            this.AddError("El código" + eClienteEntrada.Codigo_cliente + " ya existe en la base seleccionada.");
                            return(false);
                        }

                        //DataRow[] rows1 =
                        //  dtClientesExistentes.Select("Nombre_cliente = '" + eClienteEntrada.Nombre_cliente + "'");

                        //if (rows1.Length > 1)
                        //{
                        //    eClienteSalida = new EClientes(rows1[0]);
                        //    this.AddError("El nombre " + eClienteEntrada.Nombre_cliente + "ya existe.");
                        //    return false;
                        //}
                    }
                }
                else
                {
                    this.AddError("El código del cliente " + eClienteEntrada.Nombre_cliente + " está vacío.");
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Mensajes.MensajeErrorCompleto(this.Name, "VerificarCliente",
                                              "Hubo un error verificando un cliente", ex.Message);
                return(false);
            }

            return(true);
        }
        public void AsignarDatos(EClientes eCliente, EDireccion_clientes eDireccion)
        {
            this.ECliente = eCliente;
            this.txtNombreCliente.Text  = eCliente.Nombre_cliente;
            this.txtCelularCliente.Text = eCliente.Celular_cliente;

            this.txtDireccion.Text  = eDireccion.Direccion;
            this.txtNumeroCasa.Text = eDireccion.Casa;
            this.txtReferencia.Text = eDireccion.Referencia;
            this.txtBarrio.Text     = eDireccion.EBarrio.Nombre_barrio;
            this.txtCiudadela.Text  = eDireccion.Ciudadela;
        }
Example #10
0
        public EClientes GetAllClientes()
        {
            var repositorio = new RCliente();
            var clientes    = new EClientes();
            var registros   = repositorio.GetAllClientes();

            foreach (DataRow registro in registros.Rows)
            {
                var cliente = ClienteUtil.InstanciarDesde(registro);
                clientes.ListaClientes.Add(cliente);
            }
            return(clientes);
        }
        private void BuscarClientes(string tipo_busqueda, string texto_busqueda)
        {
            try
            {
                DataTable dtClientes =
                    EClientes.BuscarClientes(tipo_busqueda, texto_busqueda, out string rpta);
                this.dgvClientes.clearDataSource();
                if (dtClientes != null)
                {
                    this.btnEditar.Enabled = true;

                    this.lblResultados.Text   = "Se encontraron " + dtClientes.Rows.Count + " clientes.";
                    this.dgvClientes.Enabled  = true;
                    this.dgvClientes.PageSize = 40;
                    this.dgvClientes.SetPagedDataSource(dtClientes, this.bindingNavigator1);

                    this.dgvClientes.Columns["Id_cliente"].Visible         = false;
                    this.dgvClientes.Columns["Id_base"].Visible            = false;
                    this.dgvClientes.Columns["Id_base1"].Visible           = false;
                    this.dgvClientes.Columns["Nombre_base"].Visible        = false;
                    this.dgvClientes.Columns["Alias_base"].HeaderText      = "Alias";
                    this.dgvClientes.Columns["Codigo_cliente"].HeaderText  = "Código";
                    this.dgvClientes.Columns["Estado_cliente"].Visible     = false;
                    this.dgvClientes.Columns["Nombre_cliente"].HeaderText  = "Nombre";
                    this.dgvClientes.Columns["Celular_cliente"].HeaderText = "Celular";
                }
                else
                {
                    this.dgvClientes.Enabled = false;
                    this.btnEditar.Enabled   = false;

                    if (!rpta.Equals("OK"))
                    {
                        throw new Exception(rpta);
                    }
                }
            }
            catch (Exception ex)
            {
                Mensajes.MensajeErrorCompleto(this.Name, "BuscarClientes",
                                              "Hubo un error al buscar clientes", ex.Message);
            }
        }
        private void FrmNuevoCliente_Load(object sender, EventArgs e)
        {
            this.DtClientes = EClientes.BuscarClientes("COMPLETO", "", out string rpta);
            if (!this.IsEditar)
            {
                this.CargarFormularioDireccion();
                this.CargarBases();
            }

            if (this.DtClientes != null)
            {
                EClientes eCliente = new EClientes(this.DtClientes, 0);
                this.txtCodigo.Text = (eCliente.Id_cliente + 1).ToString();
            }

            this.txtCodigo.Focus();
            this.txtCodigo.SelectAll();
            this.gbCodigo.Focus();
        }
Example #13
0
 private void FrmBuscarClientes_OnDgvDoubleClick1(object sender, EventArgs e)
 {
     Mensajes.MensajePregunta("¿Está seguro que desea inactivar este cliente?",
                              "Inactivar", "Cancelar", out DialogResult dialog);
     if (dialog == DialogResult.Yes)
     {
         EClientes eCliente = (EClientes)sender;
         eCliente.Estado_cliente = "INACTIVO";
         string rpta =
             EClientes.EditarCliente(eCliente, eCliente.Id_cliente);
         if (rpta.Equals("OK"))
         {
             Mensajes.MensajeOkForm("¡Se inactivó el cliente correctamente!");
         }
         else
         {
             Mensajes.MensajeErrorCompleto(this.Name, "FrmBuscarClientes_OnDgvDoubleClick1",
                                           "Hubo un error al inactivar un cliente", rpta);
         }
     }
 }
        public void AsignarDatos(EVehiculos eVehiculo, EDireccion_clientes eDireccion_Clientes)
        {
            //Abrir vehículo
            if (this.gbVehiculo.Controls.Count > 0)
            {
                this.gbVehiculo.Controls.Clear();
            }

            this.EVehiculo = eVehiculo;
            FrmVehiculoCarrera FrmVehiculoCarrera = new FrmVehiculoCarrera
            {
                FormBorderStyle = FormBorderStyle.None,
                TopLevel        = false,
                Dock            = DockStyle.Fill
            };

            FrmVehiculoCarrera.AsignarDatos(eVehiculo);
            this.gbVehiculo.Controls.Add(FrmVehiculoCarrera);
            FrmVehiculoCarrera.Show();

            //Abrir cliente
            if (this.gbCliente.Controls.Count > 0)
            {
                this.gbCliente.Controls.Clear();
            }

            this.EDireccion = eDireccion_Clientes;
            this.ECliente   = eDireccion_Clientes.ECliente;
            FrmClienteCarrera frmClienteCarrera = new FrmClienteCarrera
            {
                FormBorderStyle = FormBorderStyle.None,
                TopLevel        = false,
                Dock            = DockStyle.Fill
            };

            frmClienteCarrera.AsignarDatos(eDireccion_Clientes.ECliente, eDireccion_Clientes);
            this.gbCliente.Controls.Add(frmClienteCarrera);
            frmClienteCarrera.Show();
        }
        private void FrmBuscarClientes_OnBtnDireccionNext(object sender, EventArgs e)
        {
            EDireccion_clientes eDireccion_Clientes = (EDireccion_clientes)sender;

            if (this.gbCliente.Controls.Count > 0)
            {
                this.gbCliente.Controls.Clear();
            }

            this.EDireccion = eDireccion_Clientes;
            this.ECliente   = eDireccion_Clientes.ECliente;
            FrmClienteCarrera frmClienteCarrera = new FrmClienteCarrera
            {
                FormBorderStyle = FormBorderStyle.None,
                TopLevel        = false,
                Dock            = DockStyle.Fill
            };

            frmClienteCarrera.AsignarDatos(eDireccion_Clientes.ECliente, eDireccion_Clientes);
            this.gbCliente.Controls.Add(frmClienteCarrera);
            frmClienteCarrera.Show();
        }
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.Comprobaciones(out EClientes eCliente, out EDireccion_clientes eDireccion))
                {
                    string rpta    = "";
                    string mensaje = "";

                    if (this.IsEditar)
                    {
                        rpta    = EClientes.EditarCliente(eCliente, this.ECliente.Id_cliente);
                        mensaje = "Se actualizó el cliente correctamente";
                    }
                    else
                    {
                        rpta = EClientes.InsertarCliente(eCliente, out int id_cliente);
                        eDireccion.ECliente.Id_cliente = id_cliente;
                        mensaje = "Se agregó el cliente correctamente";
                    }

                    if (rpta.Equals("OK"))
                    {
                        if (this.IsEditar)
                        {
                            eDireccion.ECliente = this.ECliente;

                            rpta = EDireccion_clientes.EditarDireccion(eDireccion, this.EDireccion.Id_direccion);
                            OnClienteEditSuccess?.Invoke(eCliente, e);
                            OnClienteEditSuccessDireccion?.Invoke(eDireccion, e);
                        }
                        else
                        {
                            rpta = EDireccion_clientes.InsertarDireccion(eDireccion, out int id_direccion);
                            OnClienteAddSuccess?.Invoke(eCliente, e);
                            OnClienteAddSuccessDireccion?.Invoke(eDireccion, e);
                        }


                        if (rpta.Equals("OK"))
                        {
                            Mensajes.MensajeOkForm(mensaje);
                            this.Close();
                        }
                        else
                        {
                            Mensajes.MensajeInformacion("Se guardó la información básica del cliente pero hubo un error " +
                                                        "al guardar la dirección, registrela manualmente", "Entendido");
                            this.Close();
                        }
                    }
                    else
                    {
                        throw new Exception(rpta);
                    }
                }
            }
            catch (Exception ex)
            {
                Mensajes.MensajeErrorCompleto(this.Name, "BtnGuardar_Click",
                                              "Hubo un error al guardar el cliente", ex.Message);
            }
        }
Example #17
0
        private bool VerificarClientes(out string consulta)
        {
            bool result = true;

            consulta = "";
            StringBuilder consultaCompleta = new StringBuilder();

            int contador = 1;

            foreach (DataRow row in this.dtClientes.Rows)
            {
                string    codigo_cliente  = Convert.ToString(row["Codigo_cliente"]);
                string    nombre_cliente  = Convert.ToString(row["Nombre_cliente"]);
                string    celular_cliente = Convert.ToString(row["Celular_cliente"]);
                EClientes eCliente        = new EClientes
                {
                    Codigo_cliente  = codigo_cliente,
                    Nombre_cliente  = nombre_cliente,
                    Celular_cliente = celular_cliente,
                    Estado_cliente  = "ACTIVO"
                };

                if (codigo_cliente.Equals(""))
                {
                    this.AddError("El código del cliente en la fila " + contador + " está vacío.");
                    break;
                }

                if (nombre_cliente.Equals(""))
                {
                    this.AddError("El nombre del cliente en la fila " + contador + " está vacío.");
                    break;
                }

                string barrio = Convert.ToString(row["Nombre_barrio"]);

                if (!this.VerificarBarrio(out EBarrios eBarrio, barrio))
                {
                    break;
                }

                if (this.VerificarCliente(out EClientes eClienteSalida, eCliente))
                {
                    consultaCompleta.Append("INSERT INTO Clientes " +
                                            "(Codigo_cliente, Id_base, Nombre_cliente, Celular_cliente, Estado_cliente) " +
                                            "VALUES('" + eClienteSalida.Codigo_cliente + "','" +
                                            eClienteSalida.EBase.Id_base + "','" +
                                            eClienteSalida.Nombre_cliente + "','" +
                                            eClienteSalida.Celular_cliente + "','" +
                                            eClienteSalida.Estado_cliente + "'); ");

                    string direccion     = Convert.ToString(row["Direccion"]).Trim();
                    string casa          = Convert.ToString(row["Casa"]).Trim();
                    string ciudadela     = Convert.ToString(row["Ciudadela"]).Trim();
                    string referencia    = Convert.ToString(row["Referencia"]).Trim();
                    string observaciones = Convert.ToString(row["Observaciones"]).Trim();

                    EDireccion_clientes eDireccion = new EDireccion_clientes
                    {
                        ECliente         = eClienteSalida,
                        Direccion        = direccion,
                        Casa             = casa,
                        EBarrio          = eBarrio,
                        Ciudadela        = ciudadela,
                        Referencia       = referencia,
                        Observaciones    = observaciones,
                        Estado_direccion = "ACTIVO"
                    };

                    consultaCompleta.Append("INSERT INTO Direccion_clientes " +
                                            "(Id_cliente, Direccion, Casa, Id_barrio, Ciudadela, Referencia, Observaciones, Estado_direccion) " +
                                            "VALUES(last_insert_rowid(),'" +
                                            eDireccion.Direccion + "','" +
                                            eDireccion.Casa + "','" +
                                            eDireccion.EBarrio.Id_barrio + "','" +
                                            eDireccion.Ciudadela + "','" +
                                            eDireccion.Referencia + "','" +
                                            eDireccion.Observaciones + "','" +
                                            eDireccion.Estado_direccion + "'); ");
                }
                else
                {
                    result = false;
                }
            }

            if (result)
            {
                consulta = consultaCompleta.ToString();
            }

            return(result);
        }
Example #18
0
 public void AsignarDatos(EClientes eCliente)
 {
     this.ECliente = eCliente;
     this.BuscarDirecciones("ID CLIENTE", eCliente.Id_cliente.ToString());
 }
        private bool Comprobaciones(out EClientes eCliente, out EDireccion_clientes eDireccion)
        {
            eCliente   = new EClientes();
            eDireccion = new EDireccion_clientes();

            if (this.txtNombres.Text.Equals(string.Empty))
            {
                Mensajes.MensajeInformacion("Por favor verifique el nombre", "Entendido");
                return(false);
            }

            if (this.txtCelular.Text.Equals(string.Empty))
            {
                Mensajes.MensajeInformacion("Por favor verifique el celular", "Entendido");
                return(false);
            }

            if (this.txtCodigo.Text.Equals(string.Empty))
            {
                Mensajes.MensajeInformacion("Por favor verifique el código", "Entendido");
                return(false);
            }

            if (string.IsNullOrEmpty(this.listaBases.Text))
            {
                Mensajes.MensajeInformacion("Por favor verifique la base de datos seleccionada", "Entendido");
                return(false);
            }

            if (this.gbBd.Tag != null)
            {
                EBases_clientes eBase = (EBases_clientes)this.gbBd.Tag;
                eCliente.EBase = eBase;
            }

            if (this.txtCodigo.Text.Equals(""))
            {
                this.errorProvider3.SetError(this.gbCodigo, "El código es obligatorio");
                return(false);
            }

            if (this.DtClientes != null)
            {
                if (!this.IsEditar)
                {
                    DataRow[] rows =
                        this.DtClientes.Select(string.Format("Codigo_cliente = '{0}' AND Id_base = {1}",
                                                             this.txtCodigo.Text, eCliente.EBase.Id_base));
                    if (rows.Length > 0)
                    {
                        this.txtCodigo.BackColor = Color.FromArgb(255, 192, 192);
                        this.errorProvider3.SetError(this.gbCodigo, "El código ya existe");
                        return(false);
                    }
                    else
                    {
                        this.txtCodigo.BackColor = Color.White;
                        this.errorProvider3.Clear();
                    }
                }
            }

            eCliente.Codigo_cliente  = this.txtCodigo.Text;
            eCliente.Nombre_cliente  = this.txtNombres.Text;
            eCliente.Celular_cliente = this.txtCelular.Text;
            if (this.IsEditar)
            {
                eCliente.Estado_cliente = this.ECliente.Estado_cliente;
            }
            else
            {
                eCliente.Estado_cliente = "ACTIVO";
            }

            if (this.frmAgregarDireccion != null)
            {
                if (!this.frmAgregarDireccion.Comprobaciones(out eDireccion))
                {
                    return(false);
                }
            }
            else
            {
                Mensajes.MensajeInformacion("Por favor verifique la dirección, el formulario no se a creado", "Entendido");
                return(false);
            }

            eDireccion.ECliente = eCliente;

            if (this.IsEditar)
            {
                eDireccion.ECliente = this.ECliente;
            }

            return(true);
        }
Example #20
0
            public static EVentaEspecial InstanciarDesde(DataRow registro, EClientes clientes)
            {
                //log.Info("[InstanciarDesde] Parametros "+registro.Field<string>("id_cliente"));
                Respuesta respuesta = new Respuesta();

                if (registro == null)
                {
                    respuesta.Valida  = false;
                    respuesta.Mensaje = "Registro nulo o contiene campos nulos.";
                    return(null);
                    //throw new ApplicationException("Registro nulo o contiene campos nulos.");
                }
                EVentaEspecial a;

                if (Convert.ToBoolean((byte)registro["registra_cliente"]))
                {
                    EClientesVentaEspecial clientesVenta;
                    if (Convert.ToBoolean((byte)registro["especifica_clientes"]))
                    {
                        string clientid = ((string)registro["id_cliente"]).Trim();
                        var    c        = clientes.Cliente(clientid, out respuesta);
                        clientesVenta = new EClientesVentaEspecial(
                            Convert.ToBoolean((byte)registro["diligencia_tipo_identificacion"]),
                            Convert.ToBoolean((byte)registro["diligencia_identificacion"]),
                            Convert.ToBoolean((byte)registro["diligencia_primer_nombre"]),
                            Convert.ToBoolean((byte)registro["diligencia_segundo_nombre"]),
                            Convert.ToBoolean((byte)registro["diligencia_primer_apellido"]),
                            Convert.ToBoolean((byte)registro["diligencia_segundo_apellido"]),
                            Convert.ToBoolean((byte)registro["diligencia_tipo_cliente"]),
                            Convert.ToBoolean((byte)registro["diligencia_ciudad"]),
                            Convert.ToBoolean((byte)registro["diligencia_pais"]),
                            Convert.ToBoolean((byte)registro["diligencia_celular"]),
                            Convert.ToBoolean((byte)registro["diligencia_telefono"]),
                            Convert.ToBoolean((byte)registro["diligencia_correo"]),
                            Convert.ToBoolean((byte)registro["diligencia_direccion"])
                            );
                    }
                    else
                    {
                        clientesVenta = new EClientesVentaEspecial(
                            Convert.ToBoolean((byte)registro["diligencia_tipo_identificacion"]),
                            Convert.ToBoolean((byte)registro["diligencia_identificacion"]),
                            Convert.ToBoolean((byte)registro["diligencia_primer_nombre"]),
                            Convert.ToBoolean((byte)registro["diligencia_segundo_nombre"]),
                            Convert.ToBoolean((byte)registro["diligencia_primer_apellido"]),
                            Convert.ToBoolean((byte)registro["diligencia_segundo_apellido"]),
                            Convert.ToBoolean((byte)registro["diligencia_tipo_cliente"]),
                            Convert.ToBoolean((byte)registro["diligencia_ciudad"]),
                            Convert.ToBoolean((byte)registro["diligencia_pais"]),
                            Convert.ToBoolean((byte)registro["diligencia_celular"]),
                            Convert.ToBoolean((byte)registro["diligencia_telefono"]),
                            Convert.ToBoolean((byte)registro["diligencia_correo"]),
                            Convert.ToBoolean((byte)registro["diligencia_direccion"])
                            );
                    }

                    a = new EVentaEspecial(
                        (string)registro["id_tipo_venta"],
                        (string)registro["descripcion"],
                        Convert.ToBoolean((byte)registro["impto1"]),
                        Convert.ToBoolean((byte)registro["impto2"]),
                        Convert.ToBoolean((byte)registro["impto3"]),
                        Convert.ToBoolean((byte)registro["impto4"]),
                        (string)registro["mensaje"],
                        Convert.ToBoolean((byte)registro["registra_pago"]),
                        Convert.ToBoolean((byte)registro["registra_cliente"]),
                        clientesVenta
                        );
                }
                else
                {
                    a = new EVentaEspecial(
                        (string)registro["id_tipo_venta"],
                        (string)registro["descripcion"],
                        Convert.ToBoolean((byte)registro["impto1"]),
                        Convert.ToBoolean((byte)registro["impto2"]),
                        Convert.ToBoolean((byte)registro["impto3"]),
                        Convert.ToBoolean((byte)registro["impto4"]),
                        (string)registro["mensaje"],
                        Convert.ToBoolean((byte)registro["registra_pago"]),
                        Convert.ToBoolean((byte)registro["registra_cliente"])
                        );
                }

                return(a);
            }