예제 #1
0
        //AXIS M1054 Network Camera (192.168.0.33) - Camera 1|TestCamera|237528343
        internal static void LoadCameraList(IList <OpenALPRmilestoneCameraName> cameraList)
        {
            cameraList.Clear();
            var lines = GetCameraMapping();

            for (int i = 0; i < lines.Length; i++)
            {
                var line = lines[i];
                if (!string.IsNullOrEmpty(line))
                {
                    var entry = line.Split(new char[] { '|' });
                    if (entry.Length != 0)
                    {
                        var camera = new OpenALPRmilestoneCameraName {
                            MilestoneName = entry[0]
                        };
                        if (entry.Length > 1)
                        {
                            camera.OpenALPRname = entry[1];
                        }

                        if (entry.Length > 2)
                        {
                            camera.OpenALPRId = entry[2];
                        }

                        cameraList.Add(camera);
                    }
                }
            }
        }
예제 #2
0
        private void BtnSave_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++)
            {
                CameraPairControl cameraPairControl = flowLayoutPanel1.Controls[i] as CameraPairControl;
                if (cameraPairControl != null)
                {
                    string currentMilestoneCameraName = cameraPairControl.TxtMilestoneCameraName.Text;

                    string currentALPRCameraId   = string.Empty;
                    string currentALPRCameraName = string.Empty;

                    if (cameraPairControl.cboName.SelectedItem != null)
                    {
                        currentALPRCameraId = ((KeyValuePair <string, string>)cameraPairControl.cboName.SelectedItem).Key;
                        if (currentALPRCameraId == "-1")
                        {
                            currentALPRCameraId = string.Empty;
                        }
                        else
                        {
                            currentALPRCameraName = ((KeyValuePair <string, string>)cameraPairControl.cboName.SelectedItem).Value;
                        }
                    }

                    if (!string.IsNullOrEmpty(currentMilestoneCameraName))
                    {
                        OpenALPRmilestoneCameraName mapping = CameraList.FirstOrDefault(m => m.MilestoneName == currentMilestoneCameraName);
                        if (mapping == null)
                        {
                            CameraList.Add(new OpenALPRmilestoneCameraName {
                                MilestoneName = currentMilestoneCameraName, OpenALPRname = currentALPRCameraName, OpenALPRId = currentALPRCameraId
                            });
                        }
                        else
                        {
                            mapping.OpenALPRname = currentALPRCameraName;
                            mapping.OpenALPRId   = currentALPRCameraId;
                        }
                    }
                }
            }
            Saved = true;
            Hide();
        }
예제 #3
0
        private void CameraMapping_Load(object sender, EventArgs e)
        {
            List <KeyValuePair <string, string> > namesList = new List <KeyValuePair <string, string> >();

            OpenALPRLNameHelper.FillCameraNameList(namesList);

            if (namesList.Count != 0)
            {
                namesList = namesList.OrderBy(o => o.Key).ToList();
                namesList.Insert(0, new KeyValuePair <string, string>("-1", "No ALPR mapping"));
            }

            List <Item> cameraItems = new List <Item>();

            OpenALPRBackgroundPlugin.FindAllCameras(Configuration.Instance.GetItemsByKind(Kind.Camera), cameraItems);
            for (int i = 0; i < cameraItems.Count; i++)
            {
                CameraPairControl cameraPairControl = new CameraPairControl();

                cameraPairControl.cboName.DataSource    = new BindingSource(namesList, null);
                cameraPairControl.cboName.DisplayMember = "Value";
                cameraPairControl.cboName.ValueMember   = "Key";

                cameraPairControl.TxtMilestoneCameraName.Text = cameraItems[i].Name;
                OpenALPRmilestoneCameraName mapping = CameraList.FirstOrDefault(m => m.MilestoneName == cameraItems[i].Name);
                if (mapping != null)
                {
                    int index = namesList.FindIndex(a => a.Key == mapping.OpenALPRId);
                    if (index > -1)
                    {
                        cameraPairControl.cboName.SelectedIndex = index;
                    }
                }

                flowLayoutPanel1.Controls.Add(cameraPairControl);
            }
        }