| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- using MvCamCtrl.NET;
- using Org.BouncyCastle.Asn1.Tsp;
- using Prism.Commands;
- using Prism.Mvvm;
- using Prism.Services.Dialogs;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.IO;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Windows;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Core.Cameras;
- using TeamAAS_VP.Enums;
- using TeamAAS_VP.Events;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.Resources.Languages;
- namespace TeamAAS_VP.ViewModels.Setting
- {
- public class AddCameraViewModel : BindableBase, IDialogAware
- {
- private CameraInfo _Camera;
- /// <summary>
- /// 相机
- /// </summary>
- public CameraInfo Camera
- {
- get { return _Camera; }
- set { SetProperty(ref _Camera, value); }
- }
- private ObservableCollection<CameraInfo> _CameraList=new ObservableCollection<CameraInfo>();
- public ObservableCollection<CameraInfo> CameraList
- {
- get { return _CameraList; }
- set { SetProperty(ref _CameraList, value); }
- }
- private CameraInfo _SelectCamera;
- /// <summary>
- /// 选中的相机
- /// </summary>
- public CameraInfo SelectCamera
- {
- get { return _SelectCamera; }
- set { SetProperty(ref _SelectCamera, value);
- try
- {
- if (Camera != null)
- {
- Camera.SerialNumber = value.SerialNumber;
- Camera.Model = value.Model;
- Camera.ManufacturerName = value.ManufacturerName;
- Camera.CameraType = value.CameraType;
- Camera.CameraBrand = value.CameraBrand;
- Camera.CameraIp = value.CameraIp;
- Camera.IsFindByIp = value.IsFindByIp;
- }
- }
- catch (Exception)
- {
- }
- }
- }
- private bool CanConfirm
- {
- get
- {
- if (Camera != null && SelectCamera != null && !string.IsNullOrEmpty(Camera.CameraName) && !string.IsNullOrEmpty(Camera.SerialNumber) && !string.IsNullOrEmpty(Camera.Model))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- private DelegateCommand _ConfirmCommand;
- public DelegateCommand ConfirmCommand =>
- _ConfirmCommand ?? (_ConfirmCommand = new DelegateCommand(ExecuteConfirmCommand).ObservesCanExecute(()=> CanConfirm).ObservesProperty(()=> Camera.CameraName).ObservesProperty(()=> SelectCamera));
- void ExecuteConfirmCommand()
- {
- if (string.IsNullOrEmpty(Camera.CameraName))
- {
- return;
- }
- if (!FileHelper.CheckFileName(Camera.CameraName))
- {
- MessageBox.Show(Lang.AddCameraVM_message1,"AAS",MessageBoxButton.OK,MessageBoxImage.Error);
- return;
- }
- IDialogParameters parameters = new DialogParameters();
- parameters.Add("Camera", Camera);
- Tuple<bool, CameraInfo> rest = new Tuple<bool, CameraInfo>(false, Camera);
- RequestClose?.Invoke(new DialogResult(ButtonResult.OK, parameters));
- }
- private DelegateCommand _CancelCommand;
- public DelegateCommand CancelCommand =>
- _CancelCommand ?? (_CancelCommand = new DelegateCommand(ExecuteCancelCommand));
- void ExecuteCancelCommand()
- {
- IDialogParameters parameters = new DialogParameters();
- parameters.Add("Camera", Camera);
- Tuple<bool, CameraInfo> rest = new Tuple<bool, CameraInfo>(false, Camera);
- RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel, parameters));
- }
- public AddCameraViewModel()
- {
- }
- public string Title { get; set; } = "Add Camera";
- public event Action<IDialogResult> RequestClose;
- public bool CanCloseDialog()
- {
- return true;
- }
- public void OnDialogClosed()
- {
- }
- public void OnDialogOpened(IDialogParameters parameters)
- {
- Title = Lang.SettingView_Camera_btnAddCamera;
- var cameraBrand = parameters.GetValue<CameraBrand>("CameraBrand");
- Camera = new CameraInfo() { Id = Guid.NewGuid() };
- CameraList.Clear();
- CameraInfo[] cameras=null;
- if (cameraBrand== CameraBrand.HikRobot_MVS)
- {
- cameras = MvCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Basler_Pylon)
- {
- cameras = BaslerCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.IRayple)
- {
- cameras = AHuaCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Cognex)
- {
- cameras = CognexCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Galaxy)
- {
- cameras = GalaxyCamera.GetDevices();
- }
- CameraList.Clear();
- if (cameras != null)
- {
- foreach (var camera in cameras)
- {
- CameraList.Add(camera);
- }
- }
- }
- }
- }
|