public Cgw.SmcError.SmcErr StartControlPtz(string cameraNo, Common.PtzCommandType ptzCommand, int param)
{
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
logEx.Trace("Enter: CgwMonitorManageAdapter.StartControlPtz({0},{1},{2}).", cameraNo, ptzCommand, param);
Cgw.SmcError.SmcErr err = new Cgw.SmcError.SmcErr();
try
{
//if (serviceControl.MonitorServiceRun() && client.State == CommunicationState.Opened)
if(serviceControl.MonitorServiceRun())
{
client = new MonitorManageServiceClient();
CgwMonitorManageServiceReference.PtzCommandType ptzCommandType = (CgwMonitorManageServiceReference.PtzCommandType)ptzCommand; //将平台的枚举转换成服务中的枚举
CgwMonitorManageServiceReference.SmcErr serviceErr = client.StartControlPtz(cameraNo, ptzCommandType, param);
client.Close();
if (serviceErr.ErrNo != Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_SUCCESS)
{
logEx.Error("Start control ptz failed.Camera no:{0},ptzCommandType:{1},param:{2},Error Code:{3} ", cameraNo, ptzCommand, param, err.ErrNo);
err = SetCgwErrNo(serviceErr);
}
else
{
logEx.Info("Start control ptz success.Camera no:{0},ptzCommandType:{1},param:{2}.", cameraNo, ptzCommand, param);
}
}
else
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
}
}
catch (System.Exception ex)
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
logEx.Error("CgwMonitorManageServiceReference.StartControlPtz failed. Exception is {0} ", ex.ToString());
}
return err;
}