public void ArqueoCajaPos()
        {
            _filtroGestion.Inicializa();
            if (Sistema._ActivarComoSucursal)
            {
                _filtroGestion.setHabilitarSucursal(false);
                _filtroGestion.setHabilitarDeposito(false);
            }
            else
            {
                _filtroGestion.setHabilitarSucursal(true);
                _filtroGestion.setHabilitarDeposito(false);
                _filtroGestion.setValidarPorSucursal(true);
            }
            _filtroGestion.setHabilitarPorFecha(true);
            _filtroGestion.setHabilitarPorNumeroCierre(false);

            _filtroGestion.Inicia();
            if (_filtroGestion.IsFiltroOk)
            {
                var filtro = new OOB.LibCajaBanco.Reporte.Movimiento.Filtro()
                {
                    desdeFecha = _filtroGestion.desdeFecha,
                    hastaFecha = _filtroGestion.hastaFecha,
                };

                var sucursalNombre = "";
                if (Sistema._ActivarComoSucursal)
                {
                    var r00 = Sistema.MyData.Sucursal_GetPrincipal();
                    if (r00.Result == OOB.Enumerados.EnumResult.isError)
                    {
                        Helpers.Msg.Error(r00.Mensaje);
                        return;
                    }
                    sucursalNombre      = r00.Entidad.nombre;
                    filtro.autoSucursal = r00.Entidad.codigo;
                }
                else
                {
                    var r00 = Sistema.MyData.Sucursal_GetFicha(_filtroGestion.autoSucursal);
                    if (r00.Result == OOB.Enumerados.EnumResult.isError)
                    {
                        Helpers.Msg.Error(r00.Mensaje);
                        return;
                    }
                    filtro.autoSucursal = r00.Entidad.codigo;
                    sucursalNombre      = r00.Entidad.nombre;
                }

                var r01 = Sistema.MyData.CajaBanco_ArqueoCajaPos(filtro);
                if (r01.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(r01.Mensaje);
                    return;
                }

                var filtros = "Desde: " + _filtroGestion.desdeFecha.ToShortDateString() + ", Hasta: " + _filtroGestion.hastaFecha.ToShortDateString() +
                              Environment.NewLine + sucursalNombre;
                var rp1 = new Reportes.Movimientos.ArqueoCajaPos(r01.Lista, filtros);
                rp1.Generar();
            }
        }
        public OOB.ResultadoLista <OOB.LibCajaBanco.Reporte.Movimiento.ArqueoCajaPos.Ficha> CajaBanco_ArqueoCajaPos(OOB.LibCajaBanco.Reporte.Movimiento.Filtro filtro)
        {
            var rt = new OOB.ResultadoLista <OOB.LibCajaBanco.Reporte.Movimiento.ArqueoCajaPos.Ficha>();

            var filtroDTO = new DtoLibCajaBanco.Reporte.Movimiento.Filtro();

            filtroDTO.autoSucursal = filtro.autoSucursal;
            filtroDTO.desdeFecha   = filtro.desdeFecha;
            filtroDTO.hastaFecha   = filtro.hastaFecha;

            var r01 = MyData.CajaBanco_ArqueoCajaPos(filtroDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            var list = new List <OOB.LibCajaBanco.Reporte.Movimiento.ArqueoCajaPos.Ficha>();

            if (r01.Lista != null)
            {
                if (r01.Lista.Count > 0)
                {
                    list = r01.Lista.Select(s =>
                    {
                        return(new OOB.LibCajaBanco.Reporte.Movimiento.ArqueoCajaPos.Ficha()
                        {
                            autoCierre = s.autoCierre,
                            autoUsuario = s.autoUsuario,
                            codigoUsuario = s.codigoUsuario,
                            equipo = s.equipo,
                            fecha = s.fecha,
                            hora = s.hora,
                            nombreUsuario = s.nombreUsuario,
                            sucursal = s.sucursal,
                            diferencia = s.diferencia,
                            efectivo = s.efectivo,
                            divisa = s.divisa,
                            cntDivisa = s.cntdivisa,
                            tarjeta = s.tarjeta,
                            otros = s.otros,
                            firma = s.firma,
                            devolucion = s.devolucion,
                            subtotal = s.subtotal,
                            total = s.total,
                            mefectivo = s.mefectivo,
                            mdivisa = s.mdivisa,
                            mtarjeta = s.mtarjeta,
                            motros = s.motros,
                            msubtotal = s.msubtotal,
                            mtotal = s.mtotal,
                        });
                    }).ToList();
                }
            }
            rt.Lista = list;

            return(rt);
        }