using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Shared
{
[System.Serializable]
public class DoorLock : DoorLockInfo
{
public DoorLock () : base ()
{
this.Type = DeviceType.DoorLock;
DeviceTextID = 10104;// SimpleControl.R.MyInternationalizationString.DoorLock;
}
///
/// 物理回路
///
public byte PhysicsLoopID;
public bool isDoorLockConverter = false;
///
/// 用户指纹列表
///
public List fingerprintList = new List ();
///
/// 用户密码列表
///
public List passwordList = new List ();
///
/// 用户感应卡列表
///
public List proximityCarList = new List ();
///
/// 用户临时密码列表
///
public List tempPasswordList = new List ();
///
/// 历史记录列表
///
public List stateAndAlarmList = new List ();
///
/// 门锁场景目标列表
///
public List doorLockSceneTargetsList = new List ();
///
/// 开关
///
public byte Power;
///
/// 门锁编号
///
public int DoorLockNum;
///
/// 门锁用户ID
///
public byte DoorLockUserID;
///
/// 可用次数
///
public byte LockNum;
public string Enable;//0 :unable / 1:enable / 失败 0xF5
public string Times;//可用次数,0 ~ 15
public string VailidTimeH;//65532
public string VailidTimeL;//时间段低位
public int VailidTime;//时间段高位
public string tempPasswordRemark;//临时密码
public int tempPasswordID;//临时密码
public string tempPasswordText1;//密码6位中的第1位
public string tempPasswordText2;
public string tempPasswordText3;
public string tempPasswordText4;
public string tempPasswordText5;
public string tempPasswordText6;//密码6位中的第6位
public string dynamicTempPassword;//动态临时密码
public string tempPasswordImage = "DoorLockPic/door_lock_ headshot.png";
//public string RemoteDoorLockPassword ;
///
///按日期搜索列表
///
public readonly List DateSearchList = new List ();
///
///按用户搜索列表
///
public readonly List UserearchList = new List ();
///
///按通知搜索列表
///
public readonly List NoticeSearchList = new List ();
///
///按警报搜索列表
///
public readonly List AlarmSearchList = new List ();
///
/// The scene target
///
public readonly List doorLockSceneEditedScenePath = new List ();
public readonly List doorLockSceneTargetsSerialNum = new List ();
public string doorLockSceneRemark;//开锁场景备注
public int doorLockSceneTargetsMethod;//开锁场景的方式
public int doorLockSceneTargetsUserID;//开锁场景当前的用户ID
public byte doorLockSceneTargetsControlType; //控制的设备类型
public byte doorLockSceneTargetSunbetID;//目标子网号
public byte doorLockSceneTargetDeviceID;//目标设备号
public byte doorLockSceneTargetLoopID;//目标分区号
public byte doorLockSceneTargetsParameter1;// Control_changjing
public byte doorLockSceneTargetParameter2;// Control_minute—singute—singal_adj
public byte doorLockSceneParameter3;// Control_second—singal_adj
public int doorLockAlarmRemindType;//开锁场景的方式
//存放报警场景的通知
// public System.Collections.Generic.Dictionary NotificationContent = new Dictionary ();
//存放已经选中场景目标
public System.Collections.Generic.Dictionary HaveSceneTargets = new Dictionary ();
//存放已经编辑的场景列表
public System.Collections.Generic.Dictionary DictionaryList = new Dictionary ();
///
/// 是否选择推送
///
public bool ShowMessageFormulaBar = false;
public void AddDoorLockPassword (string value)
{
var key = this.SubnetID + "_" + this.DeviceID;
UserConfig.Instance.RemoteDoorLockPasswordList.Remove (key);
UserConfig.Instance.RemoteDoorLockPasswordList.Add (key, value);
UserConfig.Instance.SaveUserConfig ();
}
public string GetDoorLockPassword ()
{
string value = null;
var key = this.SubnetID + "_" + this.DeviceID;
UserConfig.Instance.RemoteDoorLockPasswordList.TryGetValue (key, out value);
return value;
}
}
///
/// 门锁密码列表信息
///
[System.Serializable]
public class DoorLockPasswrodInfo
{
public string passwordRemark;
public string passwordImage = "";
public int userPasswordID;
}
///
/// 用户指纹列表信息
///
[System.Serializable]
public class DoorLockFingerprintInfo
{
public string fingerprintRemark;
public string fingerprintImage = "";
public int userFingerprintID;
public readonly List sceneFingerprintTargetList = new List ();//目标列表
}
///
/// 门锁感应卡列表信息
///
[System.Serializable]
public class DoorLockProximityCardInfo
{
public string proximityCardRemark;
public string proximityCardImage = "";
public int proximityCardID;
}
///
/// 门锁状态和报警信息
///
[System.Serializable]
public class DoorLockStateAndAlarmInfo
{
///
/// 门锁开锁类型对应1 2 3 6
///
public byte DoorLockType;
///
/// 门锁开锁用户ID
///
public int UserID;
///
/// 年
///
public string DoorLockYear;
///
/// 月
///
public string DoorLockMonth;
///
/// 日
///
public string DoorLockDay;
///
/// 时
///
public string DoorLockHour;
///
/// 分
///
public string DoorLockMinute;
///
/// 秒
///
public string DoorLockSec;
}
///
/// 门锁场景目标
///
[System.Serializable]
public class DoorLockSceneTargets
{
public byte LoopID;// 门锁编号
public byte Type;// 场景类型 (1:开锁/2:报警 /:0无效)
public byte SceneMethod;// 开锁场景的方式 报警和开锁只有一有效
public byte UserID;//用户ID
public int TargetSerialNum;//目标序号
public int ControlType; //控制的设备类型
public int TargetSunbetID;//目标子网号
public int TargetDeviceID;//目标设备号
public int TargetLoopID;//目标分区号
public int Parameter1;// Control_changjing
public int Parameter2;// Control_minute—singute—singal_adj
public int Parameter3;// Control_second—singal_adj
}
}