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; } }
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); } } } } }