using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SunVoteARSPPT
{
public class ARSSignIn : IResponse
{
///
/// 签到类
///
public SunVote.SignIn SignIn = null;
private bool IsSignInCode = false;
///
/// 签到构造函数
/// 杨斌 2015-04-28
///
public ARSSignIn(bool isSignInCode = false)
{
IsSignInCode = isSignInCode;
SignIn = new SunVote.SignIn();
SignIn.KeyStatus += new SunVote.ISignInEvents_KeyStatusEventHandler(SignIn_KeyStatus);
//杨斌 2015-01-09
SignIn.KeyStatusSN += new SunVote.ISignInEvents_KeyStatusSNEventHandler(SignIn_KeyStatusSN);
//PVS事件。杨斌 2015-03-17
FrmPvsServer.GetFrmPvs().OnKeyVote += myPVS_KeyVote;
TagSet = new TagSet();
}
////杨斌 2015-04-28
//public ARSSignIn(bool isSignInCode)
// : this()
//{
// IsSignInCode = isSignInCode;
//}
void SignIn_KeyStatusSN(string BaseTag, string KeySN, int ValueType, string KeyValue, double KeyTime)
{
ResponsePar ObjResponseValue = new ResponsePar();
ObjResponseValue.BaseTag = BaseTag;
ObjResponseValue.KeyID = KeySN;
ObjResponseValue.KeyValue = KeyValue;
ObjResponseValue.Speed = 0;
if (ResponseEventHander != null)
ResponseEventHander(ObjResponseValue);
}
void myPVS_KeyVote(int ID, int iMode, string sInfo)
{
ResponsePar ObjResponseValue = new ResponsePar();
//ObjResponseValue.BaseTag = BaseTag;
ObjResponseValue.KeyID = ID.ToString();
ObjResponseValue.KeyValue = sInfo;
ObjResponseValue.Speed = 0;
if (ResponseEventHander != null)
ResponseEventHander(ObjResponseValue);
}
///
/// 键盘状态事件
///
///
///
///
///
void SignIn_KeyStatus(string BaseTag, int KeyID, int ValueType, string KeyValue)
{
SignIn_KeyStatusSN(BaseTag, KeyID.ToString(), ValueType, KeyValue, 0);
}
#region IResponse 成员
///
/// 反馈事件
///
public event ResponseEventHander ResponseEventHander;
///
/// 开始签到
///
public void Start()
{
if (GlobalInfo.GetSdkType() == 0)
{
//连接基站
SignIn.BaseConnection = BaseConnection;
//杨斌 2015-04-28
//SignIn.Mode = 0;
SignIn.Mode = IsSignInCode ? 1 : 0;
SignIn.StartMode = 1;
SignIn.BackgroundSignIn = false;
SignIn.Start();
}
else if (GlobalInfo.GetSdkType() == 1)
{
int pvsVoteMode = 1;
string pvsVoteSetting = "1";
FrmPvsServer.GetFrmPvs().VoteStart(pvsVoteMode, pvsVoteSetting);
}
}
///
/// 停止签到
///
public void Stop()
{
if (GlobalInfo.GetSdkType() == 0)
SignIn.Stop();
else if (GlobalInfo.GetSdkType() == 1)
FrmPvsServer.GetFrmPvs().VoteStop();
}
///
/// 基站连接
///
public SunVote.BaseConnection BaseConnection { get; set; }
///
/// 幻灯片Tag值
///
public TagSet TagSet { get; set; }
///
/// 反馈类型
///
public ResponseType ResponseType { get; set; }
#endregion
}
}