private void BtnCobrar_Click_1(object sender, EventArgs e)
        {
            var _cliente = _clienteServicio.ObtenerPorDni("99999999");


            //---------------------------------------------------------//

            //---------------------------------------------------------//

            var ObtenerComprobante = _comprobanteSalonServicio.ObtenerComprobantePorId(_comprobanteId);

            var FacturacionMesa = new ComprobanteCierreDto
            {
                Id        = ObtenerComprobante.ComprobanteId,
                MesaId    = ObtenerComprobante.MesaId,
                UsuarioId = UsuarioLogueadoId,
                ClienteId = _cliente.Id,
                Descuento = nudDescuento.Value,

                Fecha             = dtpFechaFactura.Value,
                Numero            = (int)nudNumero.Value,
                TipoDeComprobante = ((TipoComprobante)cmbTipoComprobante.SelectedItem),
                EstadoComprobante = EstadoComprobanteSalon.Enviado,
                Total             = nudTotal.Value,
                SubTotal          = nudTotal.Value,
                MozoId            = ObtenerComprobante.MozoId,
                Comensales        = ObtenerComprobante.Comensales,
            };

            var Cliente = _clienteServicio.ObtenerPorDni(txtDni.Text);

            if (Cliente == null)
            {
                MessageBox.Show("Por favor seleccione un medio de pago o un cliente valido", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            txtApyNom.Text       = Cliente.ApyNom;
            nudMontoActual.Value = Cliente.MontoMaximoCtaCte;

            if (nudTotal.Value > 0)
            {
                if (RadioCuentaCorriente.Checked)
                {
                    Cliente.MontoDeudaCtaCte += nudTotal.Value;
                    nudMontoRestar.Value      = nudTotal.Value;

                    if (Cliente.MontoDeudaCtaCte <= Cliente.MontoMaximoCtaCte)
                    {
                        RestanteCuentaCorriente.Value = Cliente.MontoMaximoCtaCte - nudTotal.Value;

                        var ClienteModificar = new ClienteDto()
                        {
                            Id = Cliente.Id,
                            MontoDeudaCtaCte  = Cliente.MontoDeudaCtaCte,
                            MontoMaximoCtaCte = Cliente.MontoMaximoCtaCte
                        };

                        _clienteServicio.ModificarCuentaCorriente(ClienteModificar);

                        _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa);

                        var nuevoMovimiento = new MovimientoDto()
                        {
                            CajaId         = CajaAbiertaId,
                            ComprobanteId  = FacturacionMesa.Id,
                            TipoMovimiento = TipoMovimiento.Ingreso,
                            UsuarioId      = FacturacionMesa.UsuarioId,
                            Monto          = FacturacionMesa.Total,
                            Fecha          = FacturacionMesa.Fecha,
                            Descripcion    = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" +
                                             FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON"
                        };
                        _movimientoServicio.Insertar(nuevoMovimiento);
                        _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId);

                        var nuevoDetalle = new DetalleCajaDto()
                        {
                            CajaId    = CajaAbiertaId,
                            Monto     = FacturacionMesa.Total,
                            FormaPago = TipoPago.CtaCte
                        };

                        _detalleCajaServicio.InsertarDetalle(nuevoDetalle);

                        MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);


                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(@"Monto Cuenta Corriente Insuficiente , seleccione otra forma de pago", @"Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Error);

                        return;
                    }
                }
                else
                {
                    _comprobanteSalonServicio.GenerarComprobanteCierre(FacturacionMesa);

                    var nuevoMovimiento = new MovimientoDto()
                    {
                        CajaId         = CajaAbiertaId,
                        ComprobanteId  = FacturacionMesa.Id,
                        TipoMovimiento = TipoMovimiento.Ingreso,
                        UsuarioId      = FacturacionMesa.UsuarioId,
                        Monto          = FacturacionMesa.Total,
                        Fecha          = FacturacionMesa.Fecha,
                        Descripcion    = "FAC_" + FacturacionMesa.TipoDeComprobante + "_" + FacturacionMesa.Numero + "_" +
                                         FacturacionMesa.Fecha.ToShortDateString().Replace("/", string.Empty) + "_SALON"
                    };
                    _movimientoServicio.Insertar(nuevoMovimiento);
                    _cajaServicio.ActualizarMontoDelSistema(nuevoMovimiento.Monto, nuevoMovimiento.CajaId);


                    var nuevoDetalle = new DetalleCajaDto()
                    {
                        CajaId    = CajaAbiertaId,
                        Monto     = FacturacionMesa.Total,
                        FormaPago = TipoPago.Efectivo
                    };

                    _detalleCajaServicio.InsertarDetalle(nuevoDetalle);

                    MessageBox.Show(@"Operacion realizada con Exito.", @"Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);

                    _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Cerrada);

                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Por favor ingrese un articulo.", "Atencion", MessageBoxButtons.OK, MessageBoxIcon.Error);
                _mesaServicio.CambiarEstado(_mesaId, EstadoMesa.Abierta);
            }
        }