void cambiareStato(string nuovo)
        {
            IImpronteSrv impronteSrv = LumenApplication.Instance.getServizioAvviato <IImpronteSrv>();

            if (nuovo == "stop")
            {
                fileSystemWatcher.EnableRaisingEvents = false;

                if (userConfigOnRide.scannerImpronteGestito && scannerImprontePresente)
                {
                    impronteSrv.stop();
                }
            }

            if (nuovo == "start")
            {
                fileSystemWatcher.EnableRaisingEvents = true;

                if (userConfigOnRide.scannerImpronteGestito && scannerImprontePresente)
                {
                    if (impronteSrv.statoRun == StatoRun.Stopped)
                    {
                        impronteSrv.start();
                    }
                    impronteSrv.Listen(OnImprontaAcquisita, false);
                }
            }

            OnPropertyChanged("isRunning");
        }
Beispiel #2
0
        private void scanControl(bool onOff)
        {
            IImpronteSrv srv = LumenApplication.Instance.getServizioAvviato <IImpronteSrv>();

            if (srv.isRunning)
            {
                if (onOff == false)
                {
                    statoScanner = "Disabilitato";
                    srv.stop();
                }
            }
            else
            {
                if (onOff == true)
                {
                    srv.start();
                    statoScanner = "Abilitato";
                }
            }

            if (onOff == true)
            {
                statoScanner = "In ascolto...";
                srv.Listen(OnImprontaAcquisita, true);
            }
        }
        void refreshStatoScanner()
        {
            scannerImpronteNome     = null;
            scannerImprontePresente = false;
//			scannerImpronteAbilitato = false;

            String nomeScanner = UnitOfWorkScope.currentDbContext.InfosFisse.Single().scannerImpronte;

            string[] modelliScannerGestiti = { "ZK4500" };

            if (modelliScannerGestiti.Contains(nomeScanner))
            {
                scannerImpronteNome = nomeScanner;
//				scannerImpronteAbilitato = true;
            }

            // Ora provo a dialogare con lo scanner
            IImpronteSrv impronteSrv = LumenApplication.Instance.getServizioAvviato <IImpronteSrv>();

            if (!userConfigOnRide.scannerImpronteGestito)
            {
                impronteSrv.stop();
                scannerImprontePresente = false;
            }
            else
            {
                try {
                    if (impronteSrv.statoRun == StatoRun.Stopped)
                    {
                        impronteSrv.start();
                    }

                    bool connesso = impronteSrv.testScannerConnected();
                    if (connesso)
                    {
                        scannerImprontePresente = true;
                        _giornale.Info("Scanner presente : " + impronteSrv.infoScanner);
                    }
                    else
                    {
                        _giornale.Warn("scanner impronte non presente");
                    }
                } catch (Exception ee) {
                    _giornale.Error("lettura da scanner", ee);
                    scannerImprontePresente = false;
                }
            }
        }
Beispiel #4
0
        public void Init()
        {
            LumenApplication app = LumenApplication.Instance;

            app.avvia();

            IImpronteSrv srv2 = LumenApplication.Instance.getServizioAvviato <IImpronteSrv>();

            this._impl = (ImpronteZKTecoSrvImpl)srv2;

            Assert.IsTrue(srv2.statoRun == Lumen.Servizi.StatoRun.Running, "Lo scanner deve essere connesso");

            // -------
            using (LumenEntities dbContext = new LumenEntities()) {
            }
        }
Beispiel #5
0
        /**
         * - Istanzio i servizi,
         * - li aggiungo in una lista interna che mi tengo io per gestire i servizi.
         * - Avvio i servizi appena creati
         */
        private void avviaServizi()
        {
            // Creo la mappa dei servizi
            _serviziAvviati = new Dictionary <string, IServizio>();

            // Creo i servizi

            foreach (String key in this.configurazione.nomiServizi.Keys)
            {
                Type interfaccia = null;

                int posIniz = key.IndexOf("<");
                if (posIniz > 0)
                {
                    // Devo gestire i generic type
                    int posFine = key.IndexOf(">", posIniz + 1);
                    if (posFine > 0)
                    {
                        String genericStr = key.Substring(posIniz + 1, posFine - posIniz - 1);
                        Type   generic    = Type.GetType(genericStr);
                        if (generic == null)
                        {
                            generic = Type.GetType(genericStr + ",Digiphoto.Lumen.Core");
                        }
                        if (generic == null)
                        {
                            generic = Type.GetType(genericStr + ",Digiphoto.Lumen.Model");
                        }

                        String interfaceName = key.Substring(0, posIniz);

                        String tutto = interfaceName + "`1";

                        interfaccia = Type.GetType(tutto);
                        if (interfaccia == null)
                        {
                            interfaccia = Type.GetType(tutto + ",Digiphoto.Lumen.Core");
                        }
                        if (interfaccia == null)
                        {
                            interfaccia = Type.GetType(tutto + ",Digiphoto.Lumen.Model");
                        }

                        interfaccia = interfaccia.MakeGenericType(generic);
                    }
                }
                else
                {
                    interfaccia = Type.GetType(key);
                }


                creaAggiungiAvviaServizio(interfaccia);
            }

            // Questo servizio nasce
            IVolumeCambiatoSrv vcs = getServizioAvviato <IVolumeCambiatoSrv>();

            if (vcs != null)
            {
                // TODO forse si può sporstare dentro la IMPL
                vcs.attesaBloccante = false;
                vcs.attesaEventi();
            }

            // IL servizio dei barcodes lo tengo spento. Lo accendo solo alla necessità
            IBarCodeSrv bcs = getServizioAvviato <IBarCodeSrv>();

            if (bcs != null)
            {
                bcs.stop();
            }
            IDbRebuilderSrv dbr = getServizioAvviato <IDbRebuilderSrv>();

            if (dbr != null)
            {
                dbr.stop();
            }

            // Anche il servizio di lettura scanner impronte digitali lo tengo spento. lo accendo solo alla necessità
            IImpronteSrv imp = getServizioAvviato <IImpronteSrv>();

            if (imp != null && imp.statoRun == StatoRun.Running)
            {
                if (Configurazione.UserConfigLumen.scannerImpronteGestito == false)
                {
                    imp.stop();
                }
            }
        }