예제 #1
0
        internal static DispositivoSpeedSpec Build(Dispositivo dispositivo, Repository repository)
        {
            var rv = new DispositivoSpeedSpec {
                _repository = repository
            };

            // desde el nivel 00 al 15 , los que no hay toma 200 km

            for (var i = 0; i < 16; i++)
            {
                rv._infraccion[i] = (byte)dispositivo.GetInfraccionNivel(i);
                rv._excesos[i]    = (byte)dispositivo.GetExcesoNivel(i);
            }
            ;

            rv._infraccion[16] = (byte)dispositivo.GetInfraccionNivel(-1);
            rv._excesos[16]    = (byte)dispositivo.GetExcesoNivel(-1);

            return(rv);
        }
예제 #2
0
        public QtreeInstanceManager(DAOFactory factory)
        {
            _factory = factory;

            var coches = _factory.CocheDAO.GetList(new[] { -1 }, new[] { -1 });

            foreach (var c in coches)
            {
                var key = c.Dispositivo.GetQtreeType() + "|" + c.Dispositivo.GetQtreeFile();

                var repo = repositories.GetOrAdd(key, s =>
                {
                    var so       = new GridStructure();
                    var instance = new Repository();
                    instance.Open <GeoGrillas>(Config.Qtree.QtreeDirectory, ref so);
                    return(instance);
                });

                speedSpecs.TryAdd(c.Id, DispositivoSpeedSpec.Build(c.Dispositivo, repo));
            }
        }