public Venta(ClaveSeguridad.Seguridad seguridad)
        {
            _nuevoConoMonetario = 0.0m;
            _seguridad          = seguridad;
            _ctrCliente         = new CtrCliente();
            _pendiente          = new AbrirPendiente.Pendiente(_seguridad);
            _ctrItem            = new CtrItem();
            _ctrLista           = new CtrlLista();
            _ctrBuscar          = new CtrlBuscar(_ctrLista);
            _ctrConsultar       = new CtrConsulta(_ctrBuscar);
            _ctrListaItem       = new CtrListaItem(_ctrItem);
            _ctrPago            = new CtrPago(_seguridad, _ctrCliente);
            _ticketFactura      = new Ticket();
            _ticketFactura.setModo(Ticket.EnumModoTicket.Modo80mm);
            if (Sistema.ImpresoraTicket == Sistema.EnumModoRolloTicket.Pequeno)
            {
                _ticketFactura.setModo(Ticket.EnumModoTicket.Modo58mm);
            }
            _series = new series();

            _permitirBusquedaPorDescripcion = false;
            _modoOperacionPos  = Enumerados.EnumModoOperacionPos.Detal;
            _modoFuncion       = Enumerados.EnumModoFuncion.Facturacion;
            _montoDivisa       = 0.0m;
            _activarRepesaje   = false;
            _limiteRepesajeInf = 0.0m;
            _limiteRepesajeSup = 0.0m;
        }
        public bool CargarData()
        {
            var rt = true;

            var r01 = Sistema.MyData2.Item_Cargar();

            if (r01.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r01.Mensaje);
                return(false);
            }
            _ctrItem.CargarLista(r01.Lista);

            var r02 = Sistema.MyData2.Fiscal_Tasas();

            if (r02.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r02.Mensaje);
                return(false);
            }
            setFiscal(r02.Entidad);

            var r03 = Sistema.MyData2.Configuracion_FactorCambio();

            if (r03.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r03.Mensaje);
                return(false);
            }
            _montoDivisa = r03.Entidad;
            _ctrItem.setMontoDivisa(_montoDivisa);

            var r04 = Sistema.MyData2.Configuracion_Repesaje();

            if (r04.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r04.Mensaje);
                return(false);
            }
            _activarRepesaje   = r04.Entidad.IsActivo;
            _limiteRepesajeInf = r04.Entidad.LimiteValidoInferior;
            _limiteRepesajeSup = r04.Entidad.LimiteValidoSuperior;
            _ctrItem.setRepesaje(_activarRepesaje, _limiteRepesajeInf, _limiteRepesajeSup);

            var r05 = Sistema.MyData2.Configuracion_Serie();

            if (r05.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r05.Mensaje);
                return(false);
            }
            _series.setSeries(r05.Entidad);

            var r06 = Sistema.MyData2.Configuracion_Sucursal();

            if (r06.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r06.Mensaje);
                return(false);
            }
            CodigoSucursal  = r06.Entidad.Codigo;
            PrefijoSucursal = r06.Entidad.PrefijoSucursal;

            var r07 = Sistema.MyData2.Configuracion_ModoPos();

            if (r07.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r07.Mensaje);
                return(false);
            }
            switch (r07.Entidad.Modo)
            {
            case OOB.LibVenta.PosOffline.Configuracion.Enumerados.EnumModoPos.Detal:
                _modoOperacionPos = Enumerados.EnumModoOperacionPos.Detal;
                break;

            case OOB.LibVenta.PosOffline.Configuracion.Enumerados.EnumModoPos.Mayor:
                _modoOperacionPos = Enumerados.EnumModoOperacionPos.Mayor;
                break;
            }

            var r08 = Sistema.MyData2.Configuracion_Deposito();

            if (r08.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r08.Mensaje);
                return(false);
            }
            setDeposito(r08.Entidad);

            var r09 = Sistema.MyData2.Configuracion_Vendedor();

            if (r09.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r09.Mensaje);
                return(false);
            }
            setVendedor(r09.Entidad);

            var r0a = Sistema.MyData2.Configuracion_ActivarBusquedaPorDescripcion();

            if (r0a.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0a.Mensaje);
                return(false);
            }
            _permitirBusquedaPorDescripcion = r0a.Entidad;

            var r0b = Sistema.MyData2.Configuracion_Cobrador();

            if (r0b.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0b.Mensaje);
                return(false);
            }
            setCobrador(r0b.Entidad);

            var r0c = Sistema.MyData2.Configuracion_Transporte();

            if (r0c.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0c.Mensaje);
                return(false);
            }
            setTransporte(r0c.Entidad);

            var r0d = Sistema.MyData2.Configuracion_MedioCobro();

            if (r0d.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0d.Mensaje);
                return(false);
            }
            setMedioCobro(r0d.Entidad);

            var r0e = Sistema.MyData2.Permiso_ManejoPos();

            if (r0e.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0e.Mensaje);
                return(false);
            }
            setPermiso(r0e.Entidad);
            setUsuario(Sistema.Usuario);

            var r0g = Sistema.MyData2.Configuracion_TarifaPrecio();

            if (r0g.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0g.Mensaje);
                return(false);
            }
            TarifaPrecio = r0g.Entidad;
            _ctrItem.setTarifaPrecio(TarifaPrecio);
            _ctrConsultar.setTarifaPrecio(TarifaPrecio);

            var r0h = Sistema.MyData2.Configuracion_EtiquetarPrecioPorTipoNegocio();

            if (r0h.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0h.Mensaje);
                return(false);
            }
            _ctrConsultar.setEtiquetarPrecioPorTipoNegocio(r0h.Entidad);

            var r0i = Sistema.MyData2.Configuracion_MovConceptoInv();

            if (r0i.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0i.Mensaje);
                return(false);
            }
            _movConceptoInv = r0i.Entidad;

            var r0j = Sistema.MyData2.Configuracion_Habilitar_Precio5_VentaMayor();

            if (r0j.Result == OOB.Enumerados.EnumResult.isError)
            {
                Helpers.Msg.Error(r0j.Mensaje);
                return(false);
            }
            _ctrItem.setHabilitar_Precio5_VentaMayor(r0j.Entidad);
            _ctrConsultar.setHabilitar_Precio5_VentaMayor(r0j.Entidad);

            _documentoVenta = null;
            if (_modoFuncion == Enumerados.EnumModoFuncion.NotaCredito)
            {
                var r0f = Sistema.MyData2.VentaDocumento_Cargar(_idDocumento);
                if (r0f.Result == OOB.Enumerados.EnumResult.isError)
                {
                    Helpers.Msg.Error(r0f.Mensaje);
                    return(false);
                }
                var ent = r0f.Entidad;
                _documentoVenta = ent;
                _ctrCliente.setCliente(ent.ClienteId, ent.ClienteCiRif, ent.ClienteNombre, ent.ClienteDirFiscal, ent.ClienteTelefono);
                _ctrItem.CargarLista(ent.Detalles);
            }

            return(rt);
        }