/// <summary> /// 添加设备信息 /// </summary> /// <param name="dev"></param> /// <param name="devBll"></param> private static bool AddDevInfo(DevInfoBackup dev, DevInfoBll devBll) { try { DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); //if (string.IsNullOrEmpty(devInfo.Local_DevID)) //{ //} DevInfo infoTemp = devBll.Find(i => i.Local_DevID == devInfo.Local_DevID); if (infoTemp == null) { return(devBll.Add(devInfo));//新设备,加入 } else { UpgradeDevInfo(infoTemp, devInfo);//已经存在的设备,更新 bool value = devBll.Edit(infoTemp); if (!value) { Log.Info("Error: EditDevinfo Error"); } return(value); } } catch (Exception e) { Log.Info("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); return(false); } }
/// <summary> /// 移除被删除的设备 /// </summary> private static void RemoveDeleteDev(DevInfoBackup devTemp, DevInfoBll devBll) { DevInfo infoTemp = devBll.Find(i => i.Local_DevID == devTemp.DevId); if (infoTemp != null) { devBll.DeleteById(infoTemp.Id); } }
/// <summary> /// 添加摄像头信息 /// </summary> /// <param name="cameraDev"></param> /// <param name="bll"></param> private static void AddCameraInfo(CameraInfoBackup cameraDev, Bll bll) { try { DevInfoBackup dev = CameraToDevInfo(cameraDev); DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); DevInfo infoTemp = bll.DevInfos.Find(i => i.Local_DevID == devInfo.Local_DevID); //Devinfo中,能通过Devid找到的就更新。找不到就新增 if (infoTemp == null) { bll.DevInfos.Add(devInfo); Dev_CameraInfo cameraBackup = GetCameraInfo(cameraDev, devInfo); cameraBackup.RtspUrl = cameraDev.RtspURL; bll.Dev_CameraInfos.Add(cameraBackup); } else { UpgradeDevInfo(infoTemp, devInfo); bool value = bll.DevInfos.Edit(infoTemp); if (!value) { Log.Info("Error: EditDevinfo Error"); } Dev_CameraInfo cameraBackup = GetCameraInfo(cameraDev, infoTemp); if (!string.IsNullOrEmpty(cameraDev.RtspURL)) { cameraBackup.RtspUrl = cameraDev.RtspURL; } Dev_CameraInfo cameraDatabase = bll.Dev_CameraInfos.Find(cameraT => cameraT.Local_DevID == infoTemp.Local_DevID); if (cameraDatabase == null) { bll.Dev_CameraInfos.Add(cameraBackup); } else { UpgradeCameraInfo(cameraBackup, cameraDatabase); bool valueT = bll.Dev_CameraInfos.Edit(cameraDatabase); if (!valueT) { Log.Info("Error: EditDevinfo Error"); } } } } catch (Exception e) { Log.Info("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); } }
/// <summary> /// 添加设备信息 /// </summary> /// <param name="dev"></param> /// <param name="devBll"></param> private static void AddDevInfo(DevInfoBackup dev, DevInfoBll devBll) { try { DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); devBll.Add(devInfo); } catch (Exception e) { Console.WriteLine("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); } }
/// <summary> /// 保存通用设备 /// </summary> private void SaveNormalDev(List <Location.TModel.Location.AreaAndDev.DevInfo> devInfoList, LocationService service) { DevInfoBackupList backUpList = new DevInfoBackupList(); backUpList.DevList = new List <DevInfoBackup>(); foreach (var item in devInfoList) { string typeCodeT = item.TypeCode.ToString(); if (TypeCodeHelper.IsLocationDev(typeCodeT) || TypeCodeHelper.IsCamera(typeCodeT) || TypeCodeHelper.IsDoorAccess(item.ModelName) || TypeCodeHelper.IsFireFightDevType(typeCodeT)) { continue; } DevInfoBackup dev = new DevInfoBackup(); dev.DevId = item.DevID; dev.KKSCode = item.KKSCode; dev.Abutment_DevID = item.Abutment_DevID; dev.ModelName = item.ModelName; dev.Name = item.Name; dev.ParentName = GetAreaPath((int)item.ParentId, service); dev.TypeCode = item.TypeCode.ToString(); DevPos pos = item.Pos; dev.RotationX = pos.RotationX.ToString(); dev.RotationY = pos.RotationY.ToString(); dev.RotationZ = pos.RotationZ.ToString(); dev.XPos = pos.PosX.ToString(); dev.YPos = pos.PosY.ToString(); dev.ZPos = pos.PosZ.ToString(); dev.ScaleX = pos.ScaleX.ToString(); dev.ScaleY = pos.ScaleY.ToString(); dev.ScaleZ = pos.ScaleZ.ToString(); backUpList.DevList.Add(dev); } List <DevInfoBackup> deleteDevs = AddDeleteDev(devInfoList); if (devInfoList != null && devInfoList.Count != 0) { backUpList.DevList.AddRange(deleteDevs); } //string dirctory = GetSaveDevDirectory(); //string initFile = dirctory+"DevInfoBackup.xml"; //XmlSerializeHelper.Save(backUpList, initFile, Encoding.UTF8); SaveNormalDevXml("DevInfoBackup.xml", backUpList); }
/// <summary> /// 添加门禁信息 /// </summary> /// <param name="cameraDev"></param> /// <param name="bll"></param> private static void AddDoorAccessInfo(DoorAccess doorAccess, Bll bll) { try { DevInfoBackup dev = DoorAccessToDevInfo(doorAccess); DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); bll.DevInfos.Add(devInfo); DbModel.Location.AreaAndDev.Dev_DoorAccess doorAccessDev = GetDoorAccessInfo(doorAccess, devInfo); bll.Dev_DoorAccess.Add(doorAccessDev); } catch (Exception e) { Console.WriteLine("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); } }
/// <summary> /// 添加摄像头信息 /// </summary> /// <param name="cameraDev"></param> /// <param name="bll"></param> private static void AddCameraInfo(CameraInfoBackup cameraDev, Bll bll) { try { DevInfoBackup dev = CameraToDevInfo(cameraDev); DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); bll.DevInfos.Add(devInfo); Dev_CameraInfo camera = GetCameraInfo(cameraDev, devInfo); bll.Dev_CameraInfos.Add(camera); } catch (Exception e) { Console.WriteLine("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); } }
/// <summary> /// 获取设备信息 /// </summary> /// <param name="dev"></param> /// <returns></returns> private static DevInfo GetDevInfo(DevInfoBackup dev) { DevInfo devInfo = new DevInfo { Name = dev.Name, ParentId = dev.ParentId, KKS = dev.KKSCode, Local_DevID = dev.DevId, Local_TypeCode = dev.TypeCode.ToInt(), Status = Abutment_Status.正常, ModelName = dev.ModelName, IP = "", UserName = "******" }; return(devInfo); }
/// <summary> /// 获取设备信息 /// </summary> /// <param name="dev"></param> /// <returns></returns> private static DevInfo GetDevInfo(DevInfoBackup dev) { DevInfo devInfo = new DevInfo { DevID = dev.DevId, IP = "", KKSCode = dev.KKSCode, Name = dev.Name, ModelName = dev.ModelName, Status = 0, ParentId = TryParseInt(dev.ParentId), TypeCode = TryParseInt(dev.TypeCode), UserName = "******" }; return(devInfo); }
/// <summary> /// 添加门禁信息 /// </summary> /// <param name="cameraDev"></param> /// <param name="bll"></param> private static void AddDoorAccessInfo(DoorAccess doorAccess, Bll bll) { try { DevInfoBackup dev = DoorAccessToDevInfo(doorAccess); DevInfo devInfo = GetDevInfo(dev); DevPos devPos = GetDevPos(dev); devInfo.SetPos(devPos); DevInfo infoTemp = bll.DevInfos.Find(i => i.Local_DevID == devInfo.Local_DevID); if (infoTemp == null) { bll.DevInfos.Add(devInfo); DbModel.Location.AreaAndDev.Dev_DoorAccess doorAccessDev = GetDoorAccessInfo(doorAccess, devInfo); bll.Dev_DoorAccess.Add(doorAccessDev); } else { UpgradeDevInfo(infoTemp, devInfo); bool value = bll.DevInfos.Edit(infoTemp); if (!value) { Log.Info("Error: EditDevinfo Error"); } DbModel.Location.AreaAndDev.Dev_DoorAccess doorAccessBackup = GetDoorAccessInfo(doorAccess, infoTemp); DbModel.Location.AreaAndDev.Dev_DoorAccess doorAccessDatabase = bll.Dev_DoorAccess.Find(door => door.Local_DevID == devInfo.Local_DevID); if (doorAccessDatabase == null) { bll.Dev_DoorAccess.Add(doorAccessBackup); } else { UpgradeDoorAccessInfo(doorAccessBackup, doorAccessDatabase); bool valueT = bll.Dev_DoorAccess.Edit(doorAccessDatabase); if (!valueT) { Log.Info("Error:Edit Dev_DoorAccess Error"); } } } } catch (Exception e) { Log.Info("Error in DevInfoHelper.AddDevInfo:" + e.ToString()); } }
/// <summary> /// 获取设备位置信息 /// </summary> /// <param name="dev"></param> /// <returns></returns> private static DevPos GetDevPos(DevInfoBackup dev) { DevPos pos = new DevPos { DevID = dev.DevId, PosX = TryParseFloat(dev.XPos), PosY = TryParseFloat(dev.YPos), PosZ = TryParseFloat(dev.ZPos), RotationX = TryParseFloat(dev.RotationX), RotationY = TryParseFloat(dev.RotationY), RotationZ = TryParseFloat(dev.RotationZ), ScaleX = TryParseFloat(dev.ScaleX), ScaleY = TryParseFloat(dev.ScaleY), ScaleZ = TryParseFloat(dev.ScaleZ) }; return(pos); }
/// <summary> /// 保存通用设备 /// </summary> private void SaveNormalDev(List <Location.TModel.Location.AreaAndDev.DevInfo> devInfoList, LocationService service) { DevInfoBackupList backUpList = new DevInfoBackupList(); backUpList.DevList = new List <DevInfoBackup>(); foreach (var item in devInfoList) { string typeCodeT = item.TypeCode.ToString(); if (TypeCodeHelper.IsLocationDev(typeCodeT) || TypeCodeHelper.IsCamera(typeCodeT) || TypeCodeHelper.IsDoorAccess(item.ModelName)) { continue; } DevInfoBackup dev = new DevInfoBackup(); dev.DevId = item.DevID; dev.KKSCode = item.KKSCode; dev.ModelName = item.ModelName; dev.Name = item.Name; dev.ParentName = GetAreaPath((int)item.ParentId, service); dev.TypeCode = item.TypeCode.ToString(); DevPos pos = item.Pos; dev.RotationX = pos.RotationX.ToString(); dev.RotationY = pos.RotationY.ToString(); dev.RotationZ = pos.RotationZ.ToString(); dev.XPos = pos.PosX.ToString(); dev.YPos = pos.PosY.ToString(); dev.ZPos = pos.PosZ.ToString(); dev.ScaleX = pos.ScaleX.ToString(); dev.ScaleY = pos.ScaleY.ToString(); dev.ScaleZ = pos.ScaleZ.ToString(); backUpList.DevList.Add(dev); } string initFile = AppDomain.CurrentDomain.BaseDirectory + "Data\\设备信息\\DevInfoBackup.xml"; XmlSerializeHelper.Save(backUpList, initFile, Encoding.UTF8); }
/// <summary> /// 门禁转设备信息(相同部分) /// </summary> /// <param name="camera"></param> /// <returns></returns> private static DevInfoBackup DoorAccessToDevInfo(DoorAccess doorAccess) { DevInfoBackup dev = new DevInfoBackup(); dev.DevId = doorAccess.DevId; dev.TypeCode = doorAccess.TypeCode; dev.Name = doorAccess.Name; dev.ParentName = doorAccess.ParentName; dev.ParentId = doorAccess.ParentId; dev.ModelName = doorAccess.ModelName; dev.KKSCode = doorAccess.KKSCode; dev.XPos = doorAccess.XPos; dev.YPos = doorAccess.YPos; dev.ZPos = doorAccess.ZPos; dev.RotationX = doorAccess.RotationX; dev.RotationY = doorAccess.RotationY; dev.RotationZ = doorAccess.RotationZ; dev.ScaleX = doorAccess.ScaleX; dev.ScaleY = doorAccess.ScaleY; dev.ScaleZ = doorAccess.ScaleZ; return(dev); }
/// <summary> /// 摄像头转设备信息(相同部分) /// </summary> /// <param name="camera"></param> /// <returns></returns> private static DevInfoBackup CameraToDevInfo(CameraInfoBackup camera) { DevInfoBackup dev = new DevInfoBackup(); dev.DevId = camera.DevId; dev.TypeCode = camera.TypeCode; dev.Name = camera.Name; dev.ParentName = camera.ParentName; dev.ParentId = camera.ParentId; dev.ModelName = camera.ModelName; dev.KKSCode = camera.KKSCode; dev.XPos = camera.XPos; dev.YPos = camera.YPos; dev.ZPos = camera.ZPos; dev.RotationX = camera.RotationX; dev.RotationY = camera.RotationY; dev.RotationZ = camera.RotationZ; dev.ScaleX = camera.ScaleX; dev.ScaleY = camera.ScaleY; dev.ScaleZ = camera.ScaleZ; return(dev); }