private async Task LoadClientes(string tipo_busqueda, string texto_busqueda1, string texto_busqueda2)
        {
            try
            {
                MensajeEspera.ShowWait("Cargando...");
                var(dtClientes, rpta) = await NUsuarios.BuscarClientes(tipo_busqueda, texto_busqueda1, texto_busqueda2);

                this.panelClientes.clearDataSource();
                this.positionChanged = 1;

                if (dtClientes != null)
                {
                    List <UserControl> userControls = new List <UserControl>();

                    foreach (DataRow row in dtClientes.Rows)
                    {
                        Ventas       venta        = new Ventas(row);
                        ClienteSmall clienteSmall = new ClienteSmall
                        {
                            Venta = venta,
                        };
                        clienteSmall.OnRefresh += ClienteSmall_OnRefresh;
                        userControls.Add(clienteSmall);
                    }

                    this.panelClientes.PageSize             = 20;
                    this.panelClientes.OnBsPositionChanged += PaneClientes_OnBsPositionChanged;
                    this.panelClientes.SetPagedDataSource(userControls, this.bindingNavigator2);
                }
                MensajeEspera.CloseForm();
            }
            catch (Exception ex)
            {
                MensajeEspera.CloseForm();
                Mensajes.MensajeErrorCompleto(this.Name, "LoadClientes",
                                              "Hubo un error al cargar los clientes", ex.Message);
            }
        }
                             Agendamiento_cobros agendamiento)> Comprobaciones()
        {
            bool           result = true;
            MainController main   = MainController.GetInstance();

            Agendamiento_cobros agendamiento = new Agendamiento_cobros();
            Usuarios            usuario      = new Usuarios();
            Direccion_clientes  direccion    = new Direccion_clientes();
            Ventas venta = new Ventas();

            int id_cobro         = 0;
            int id_tipo_producto = 0;

            if (this.IsEditar)
            {
                id_tipo_producto = this.Venta.Id_tipo_producto;
                id_cobro         = this.Venta.Id_cobro;
                usuario          = this.Venta.Cliente;
                direccion        = this.Venta.Direccion;
                venta            = this.Venta;

                venta.Id_cobro = id_cobro;

                venta.Id_tipo_producto = id_tipo_producto;

                venta.Id_turno = main.Turno.Id_turno;

                this.Total_articulos = venta.Total_venta;
            }
            else
            {
                usuario   = new Usuarios();
                direccion = new Direccion_clientes();
                venta     = new Ventas();

                id_tipo_producto = 2;
                id_cobro         = main.Turno.Id_cobro;

                usuario.Fecha_ingreso  = DateTime.Now;
                usuario.Tipo_usuario   = "CLIENTE";
                usuario.Estado_usuario = "ACTIVO";
                usuario.Email          = string.Empty;

                direccion.Estado_direccion = "ACTIVO";

                venta.Fecha_venta      = DateTime.Now;
                venta.Id_cobro         = id_cobro;
                venta.Id_tipo_producto = id_tipo_producto;
                venta.Id_turno         = main.Turno.Id_turno;
                venta.Hora_venta       = DateTime.Now.TimeOfDay;
                venta.Valor_venta      = this.Total_articulos;
                venta.Total_venta      = this.Total_articulos;
                venta.Fecha_venta      = this.dateFechaVenta.Value;
                venta.Tipo_venta       = "NUEVA";
                venta.Interes_venta    = 0;
                venta.Estado_venta     = "ACTIVO";

                agendamiento.Orden_cobro = 0;
            }

            if (string.IsNullOrEmpty(this.txtNombres.Text))
            {
                Mensajes.MensajeInformacion("Verifique el nombre del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.txtDireccionResidencia.Text))
            {
                Mensajes.MensajeInformacion("Verifique la dirección del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.txtTelCliente.Text))
            {
                Mensajes.MensajeInformacion("Verifique el teléfono del cliente", "Entendido");
                result = false;
            }

            if (string.IsNullOrEmpty(this.listaFrecuencia.Text))
            {
                Mensajes.MensajeInformacion("Verifique la frecuencia de cobro", "Entendido");
                result = false;
            }

            if (this.numericPlazo.Value == 0)
            {
                Mensajes.MensajeInformacion("Verifique el plazo de cobro", "Entendido");
                result = false;
            }

            if (!int.TryParse(this.listaBarrios.SelectedValue.ToString(), out int id_barrio))
            {
                Mensajes.MensajeInformacion("Verifique el barrio seleccionado", "Entendido");
                result = false;
            }

            venta.Fecha_venta = this.dateFechaVenta.Value;

            var(dt, rpta) =
                await NUsuarios.BuscarClientes("IDENTIFICACION", this.txtIdentificacion.Text, "");

            if (dt != null)
            {
                usuario = new Usuarios(dt.Rows[0]);
                Mensajes.MensajeInformacion("El cliente ya existe, se realizará una venta nueva", "Entendido");
            }
            else
            {
                usuario.Alias          = this.txtNombres.Text;
                usuario.Nombres        = this.txtNombres.Text;
                usuario.Apellidos      = this.txtApellidos.Text;
                usuario.Identificacion = this.txtIdentificacion.Text;

                if (string.IsNullOrEmpty(this.txtTelResidencia.Text))
                {
                    usuario.Celular = this.txtTelCliente.Text;
                }
                else
                {
                    usuario.Celular = this.txtTelCliente.Text + " - " + this.txtTelResidencia.Text;
                }
            }

            direccion.Id_zona   = id_barrio;
            direccion.Direccion = this.txtDireccionResidencia.Text;

            venta.Numero_cuotas    = Convert.ToInt32(numericPlazo.Value);
            venta.Frecuencia_cobro = this.listaFrecuencia.Text;
            venta.Valor_cuota      = (this.Total_articulos / Convert.ToInt32(numericPlazo.Value));

            if (!this.IsEditar)
            {
                if (!decimal.TryParse(Convert.ToString(this.txtValorAbono.Tag), out decimal valor_abono))
                {
                    Mensajes.MensajeInformacion("Verifique el valor del abono", "Entendido");
                    result = false;
                }

                agendamiento.Id_turno = main.Turno.Id_turno;

                if (this.rdActual.Checked)
                {
                    agendamiento.Fecha_cobro = dateUltimoPago.Value;
                }
                else
                {
                    agendamiento.Fecha_cobro = dateUltimoPago.Value;
                }

                agendamiento.Hora_cobro          = DateTime.Now.TimeOfDay;
                agendamiento.Valor_cobro         = venta.Valor_cuota;
                agendamiento.Valor_pagado        = valor_abono;
                agendamiento.Saldo_restante      = this.Total_saldo;
                agendamiento.Tipo_cobro          = this.listaFrecuencia.Text;
                agendamiento.Observaciones_cobro = "";
                agendamiento.Estado_cobro        = "TERMINADO";
            }

            return(result, usuario, direccion, venta, agendamiento);
        }