using log4net.Filter;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TeamAAS_VP.Enums;
namespace TeamAAS_VP.Models
{
public class CameraInfo : BindableBase
{
private Guid _Id;
public Guid Id
{
get { return _Id; }
set { SetProperty(ref _Id, value); }
}
private int _CameraNo;
///
/// 相机编号
///
public int CameraNo
{
get { return _CameraNo; }
set { SetProperty(ref _CameraNo, value); }
}
private string _CameraName;
///
/// 相机名称
///
public string CameraName
{
get { return _CameraName; }
set { SetProperty(ref _CameraName, value); }
}
private string _Model;
///
/// 相机型号
///
public string Model
{
get { return _Model; }
set { SetProperty(ref _Model, value); }
}
private string _SerialNumber;
///
/// 相机序列号
///
public string SerialNumber
{
get { return _SerialNumber; }
set { SetProperty(ref _SerialNumber, value); }
}
private string _ManufacturerName;
///
/// 厂商名
///
public string ManufacturerName
{
get { return _ManufacturerName; }
set { SetProperty(ref _ManufacturerName, value); }
}
private CameraType _CameraType;
///
/// 相机类型
///
public CameraType CameraType
{
get { return _CameraType; }
set { SetProperty(ref _CameraType, value); }
}
private CameraBrand _CameraBrand;
///
/// 相机品牌
///
public CameraBrand CameraBrand
{
get { return _CameraBrand; }
set { SetProperty(ref _CameraBrand, value); }
}
private string _CameraIp;
///
/// 相机IP地址
///
public string CameraIp
{
get { return _CameraIp; }
set { SetProperty(ref _CameraIp, value); }
}
private bool _IsFindByIp;
///
/// 是否按照IP查找相机
///
public bool IsFindByIp
{
get { return _IsFindByIp; }
set { SetProperty(ref _IsFindByIp, value); }
}
public CameraInfo()
{
Id = Guid.NewGuid();
}
public CameraInfo(Guid id, string cameraName, CameraType cameraType, CameraBrand cameraBrand, string cameraIp)
{
Id = id;
CameraName = cameraName;
CameraType = cameraType;
CameraBrand = cameraBrand;
CameraIp = cameraIp;
//如果相机的类型是GigE相机,则将IsFindByIp设为true
if (cameraType == CameraType.GIGE)
{
IsFindByIp = true;
}
}
public CameraInfo Copy()
{
return new CameraInfo
{
Id = this.Id,
CameraName = this.CameraName,
Model = this.Model,
SerialNumber = this.SerialNumber,
ManufacturerName = this.ManufacturerName,
CameraType = this.CameraType,
CameraBrand = this.CameraBrand,
CameraIp = this.CameraIp
};
}
}
}