예제 #1
0
        public void addPointToMarkers(Zone.ZonePoint v_ZP)
        {
            actualPointID++;

            string idNuevoPunto = "P" + actualPointID.ToString();

            markerPoints.Add(idNuevoPunto, v_ZP.position);
        }
예제 #2
0
        private void addPointToMarkers(Zone.ZonePoint v_ZP)
        {
            actualPointID++;

            string idNuevoPunto = "P" + actualPointID.ToString();

            markerPoints.Add(idNuevoPunto, v_ZP.position);

            // Actualiza el ListView de los puntos de la zona.
            //actualizarListaPuntos();
            actualizarMarkersEnMapa(markerPoints);
        }
        //strZona: Lista de: Lat1,Long1,ORD1,Lat2,Long2,ORD2,TIPOACCESO, LNLEntranceReaderID, LNLExitReaderID: 9 items
        private void crearZonaPordef(string v_strZona)
        {
            actualZone    = new Zone(Tools.GetInstance().ZoneName);
            actualPointID = 0;
            markerPoints  = new Dictionary <string, Zone.GeoCoord>();


            string[] listaDatos = v_strZona.Split(',');
            //MessageBox.Show(v_strZona + ", listaDatos es de largo: " + listaDatos.Length.ToString());
            if (listaDatos.Length >= 9)
            {
                for (int i = 0; i < listaDatos.Length; i = i + 9)
                {
                    Zone.ZonePoint desde = new Zone.ZonePoint("F" + (1 + (i / 9)).ToString(), listaDatos[i], listaDatos[i + 1], int.Parse(listaDatos[i + 2]));
                    Zone.ZonePoint hacia = new Zone.ZonePoint("T" + (1 + (i / 9)).ToString(), listaDatos[i + 3], listaDatos[i + 4], int.Parse(listaDatos[i + 5]));

                    string gateType               = listaDatos[i + 6];
                    string LNLEntranceReaderID    = listaDatos[i + 7];
                    string LNLExitReaderID        = listaDatos[i + 8];
                    Zone.GateDefinition nuevaGate = new Zone.GateDefinition();

                    nuevaGate.from = desde;
                    nuevaGate.to   = hacia;

                    //nuevaGate.type = getAccessType(gateType);

                    nuevaGate.type = (Zone.GateAccessType)Enum.Parse(typeof(Zone.GateAccessType), gateType);

                    nuevaGate.ID = "Gate" + (1 + (i / 9)).ToString();
                    if (LNLEntranceReaderID != "")
                    {
                        nuevaGate.LNLEntranceReaderID = int.Parse(LNLEntranceReaderID);
                        nuevaGate.LNLExitReaderID     = int.Parse(LNLExitReaderID);
                    }

                    actualZone.addGate(nuevaGate.ID, nuevaGate);

                    // Ahora actualizo los markers.
                    //Como las puertas estan conectadas, la lista de markers es solo con el punto de salida.
                    addPointToMarkers(desde);
                }
                Tools.GetInstance().DoLog("Zona definida: " + actualZone.IDZona + " con: " + actualZone.listaPuertas.Count + " gates");
            }
            actualizarZonaEnMapa();
            actualizarListViewGates();

            Tools.GetInstance().DoLog("Zona actualizada en el mapa");
        }