示例#1
0
        public void PlanInit()
        {
            //从服务器获取设备基础数据
            // string message = "GetPre_arrangedPlanning/add," + +"\r\n";
            string message = "GetPre_arrangedPlanning/Query\r\n";

            Byte[] data = Encoding.ASCII.GetBytes(message);
            CommunicationClass.stream2.Write(data, 0, data.Length);

            string responseData = String.Empty;

            data = new Byte[1024 * 100];
            while (true)
            {
                Int64 bytes = CommunicationClass.stream2.Read(data, 0, data.Length);

                responseData += Encoding.UTF8.GetString(data, 0, (int)bytes);
                temp_PlanDataforAll.Clear();
                PlanData plandata = JsonConvert.DeserializeObject <PlanData>(responseData);
                AssemblePlan(plandata);
                //pre_arrangedPlanning = plandata.pre_arrangedPlanning;
                //armAndDisarmList = plandata.armAndDisarmList;
                //linkageData = plandata.linkageData;
                IsDone = true;
                break;
            }
        }
示例#2
0
 private void AssemblePlan(PlanData plandata)
 {
     pre_arrangedPlanning = plandata.pre_arrangedPlanning;
     armAndDisarmList     = plandata.armAndDisarmList;
     linkageData          = plandata.linkageData;
     cameraList           = plandata.cameraList;
     streamMediaList      = plandata.streamMediaList;
     streamServerList     = plandata.streamServerList;
     for (int i = 0; i < armAndDisarmList.Count; i++)
     {
         for (int j = 0; j < pre_arrangedPlanning.Count; j++)
         {
             if (armAndDisarmList[i].AlarmDeviceID.ToString() == pre_arrangedPlanning[j].PlanTypeID.ToString())
             {
                 AlarmMessageForAll temp_AlarmMessageForAll = new AlarmMessageForAll();
                 //--------------------------------对报警器结构体赋值①------------------------------------
                 temp_AlarmMessageForAll.AlarmDeviceID = armAndDisarmList[i].AlarmDeviceID.ToString();
                 temp_AlarmMessageForAll.AlarmName     = armAndDisarmList[i].AlarmName;
                 //----------------------------------------------------------------------------------------
                 //----------------------若在预案表单中找出ID一致,对进行赋值-------------------
                 temp_AlarmMessageForAll.PlanDeviceID = pre_arrangedPlanning[j].PlanDeviceID.ToString();
                 temp_AlarmMessageForAll.PlanType     = pre_arrangedPlanning[j].PlanType;//报警预案:1
                 if (temp_AlarmMessageForAll.PlanType != 1)
                 {
                     return;
                 }
                 temp_AlarmMessageForAll.PlanTypeID  = pre_arrangedPlanning[j].PlanTypeID;
                 temp_AlarmMessageForAll.DeviceID    = pre_arrangedPlanning[j].DeviceID;
                 temp_AlarmMessageForAll.DeviceType  = pre_arrangedPlanning[j].DeviceType.ToString();
                 temp_AlarmMessageForAll.TimeType    = pre_arrangedPlanning[j].TimeType;    //(时间类型:星期---1;日期---2;定时---3;全时段---4)
                 temp_AlarmMessageForAll.StartTime   = pre_arrangedPlanning[j].StartTime;   //起始时间
                 temp_AlarmMessageForAll.StartDate   = pre_arrangedPlanning[j].StartDate;   //起始日期
                 temp_AlarmMessageForAll.StartWeek   = pre_arrangedPlanning[j].StartWeek;   //起始星期
                 temp_AlarmMessageForAll.EndDate     = pre_arrangedPlanning[j].EndDate;     //结束日期
                 temp_AlarmMessageForAll.EndWeek     = pre_arrangedPlanning[j].EndWeek;     //结束星期
                 temp_AlarmMessageForAll.EndTime     = pre_arrangedPlanning[j].EndTime;     //结束时间
                 temp_AlarmMessageForAll.Description = pre_arrangedPlanning[j].Description; //描述
                 temp_AlarmMessageForAll.Mark        = pre_arrangedPlanning[j].Mark;
                 //--------------------赋值完毕,下一步进行联动数据赋值--------------------------
                 LinkageData temp_LinkageData_1 = new LinkageData();
                 temp_LinkageData_1 = linkageData.Find(_ => _.PlanDeviceID.ToString() == temp_AlarmMessageForAll.PlanDeviceID && _.LinakgeStage == 1);
                 LinkageData temp_LinkageData_2 = new LinkageData();
                 temp_LinkageData_2 = linkageData.Find(_ => _.PlanDeviceID.ToString() == temp_AlarmMessageForAll.PlanDeviceID && _.LinakgeStage == 2);
                 LinkageData temp_LinkageData_3 = new LinkageData();
                 temp_LinkageData_3 = linkageData.Find(_ => _.PlanDeviceID.ToString() == temp_AlarmMessageForAll.PlanDeviceID && _.LinakgeStage == 3);
                 if (temp_LinkageData_1 != null)
                 {
                     temp_AlarmMessageForAll.Trigger_LinkageData = temp_LinkageData_1;
                 }
                 if (temp_LinkageData_2 != null)
                 {
                     temp_AlarmMessageForAll.Disposal_LinkageData = temp_LinkageData_2;
                 }
                 if (temp_LinkageData_3 != null)
                 {
                     temp_AlarmMessageForAll.Untreated_LinkageData = temp_LinkageData_3;
                 }
                 if (!temp_PlanDataforAll.ContainsKey(temp_AlarmMessageForAll.PlanDeviceID))
                 {
                     temp_PlanDataforAll.Add(temp_AlarmMessageForAll.PlanDeviceID, temp_AlarmMessageForAll);
                 }
             }
         }
     }
 }