public TEntity Post(TEntity item) { var dbItem = item.ToDbModel(); if (item.DevInfoId == 0) { var dev = new DbModel.Location.AreaAndDev.DevInfo(); dev.Name = item.Name; dev.ParentId = item.ParentId; dev.Local_DevID = Guid.NewGuid().ToString(); dev.Local_TypeCode = 20180821; dev.ModelName = "定位设备1_3D"; dev.UserName = "******"; dev.IP = ""; bool r1 = db.DevInfos.Add(dev);//创建基站前先创建设备 if (r1) { dbItem.DevInfo = dev; dbItem.DevInfoId = dev.Id; var result = dbSet.Add(dbItem); return(result ? dbItem.ToTModel(true) : null); } else { return(null); } } else { var result = dbSet.Add(dbItem); return(result ? dbItem.ToTModel() : null); } }
public static Location.TModel.Location.AreaAndDev.DevInfo ToTModel( this DbModel.Location.AreaAndDev.DevInfo item1, bool haveParent = false) { if (item1 == null) { return(null); } var item2 = new Location.TModel.Location.AreaAndDev.DevInfo(); item2.Id = item1.Id; item2.Name = item1.Name; item2.ParentId = item1.ParentId; item2.Code = item1.Code; item2.KKSCode = item1.KKS; item2.DevID = item1.Local_DevID; item2.Local_CabinetID = item1.Local_CabinetID; item2.TypeCode = item1.Local_TypeCode; item2.Abutment_Id = item1.Abutment_Id; item2.Abutment_DevID = item1.Abutment_DevID; item2.Abutment_Type = item1.Abutment_Type; item2.Status = item1.Status; item2.RunStatus = item1.RunStatus; item2.Placed = item1.Placed; item2.ModelName = item1.ModelName; item2.CreateTime = item1.CreateTime; item2.CreateTimeStamp = item1.CreateTimeStamp; item2.ModifyTime = item1.ModifyTime; item2.ModifyTimeStamp = item1.ModifyTimeStamp; item2.UserName = item1.UserName; item2.Manufactor = item1.Manufactor; item2.IP = item1.IP; //item2.PosX = item1.PosX; //item2.PosY = item1.PosY; //item2.PosZ = item1.PosZ; //item2.RotationX = item1.RotationX; //item2.RotationY = item1.RotationY; //item2.RotationZ = item1.RotationZ; //item2.ScaleX = item1.ScaleX; //item2.ScaleY = item1.ScaleY; //item2.ScaleZ = item1.ScaleZ; if (haveParent) { item2.Parent = item1.Parent.ToTModel(); } item2.SetPos(item1.GetPos()); return(item2); }
public static DevNode ToTModelS( this DbModel.Location.AreaAndDev.DevInfo item1) { if (item1 == null) { return(null); } var item2 = new DevNode(); item2.Id = item1.Id; item2.Name = item1.Name; item2.ParentId = item1.ParentId; item2.Code = item1.Code; item2.KKS = item1.KKS; item2.DevID = item1.Local_DevID; item2.TypeCode = item1.Local_TypeCode; return(item2); }
public static DbModel.Location.AreaAndDev.DevInfo ToDbModel( this Location.TModel.Location.AreaAndDev.DevInfo item1) { if (item1 == null) { return(null); } var item2 = new DbModel.Location.AreaAndDev.DevInfo(); item2.Id = item1.Id; item2.Name = item1.Name; item2.ParentId = item1.ParentId; item2.Code = item1.Code; item2.KKS = item1.KKSCode; item2.Local_DevID = item1.DevID; item2.Local_CabinetID = item1.Local_CabinetID; item2.Local_TypeCode = item1.TypeCode; item2.Abutment_Id = item1.Abutment_Id; item2.Abutment_DevID = item1.Abutment_DevID; item2.Abutment_Type = item1.Abutment_Type; item2.Status = item1.Status; item2.RunStatus = item1.RunStatus; item2.Placed = item1.Placed; item2.ModelName = item1.ModelName; item2.CreateTime = item1.CreateTime; item2.CreateTimeStamp = item1.CreateTimeStamp; item2.ModifyTime = item1.ModifyTime; item2.ModifyTimeStamp = item1.ModifyTimeStamp; item2.UserName = item1.UserName; item2.IP = item1.IP; //item2.PosX = item1.PosX; //item2.PosY = item1.PosY; //item2.PosZ = item1.PosZ; //item2.RotationX = item1.RotationX; //item2.RotationY = item1.RotationY; //item2.RotationZ = item1.RotationZ; //item2.ScaleX = item1.ScaleX; //item2.ScaleY = item1.ScaleY; //item2.ScaleZ = item1.ScaleZ; item2.SetPos(item1.Pos); return(item2); }
public List <NearbyDev> GetNearbyCamera_Alarm(int id, float fDis) { List <NearbyDev> lst = new List <NearbyDev>(); List <NearbyDev> lst2 = new List <NearbyDev>(); DbModel.Location.AreaAndDev.DevInfo dev = db.DevInfos.DbSet.Where(p => p.Id == id).FirstOrDefault(); if (dev == null || dev.ParentId == null) { return(lst); } int? AreadId = dev.ParentId; float PosX = dev.PosX; float PosY = dev.PosY; float PosZ = dev.PosZ; float PosX2 = 0; float PosY2 = 0; float PosZ2 = 0; float sqrtDistance = 0; float Distance = 0; var query = from t1 in db.DevAlarms.DbSet join t2 in db.DevInfos.DbSet on t1.DevInfoId equals t2.Id join t3 in db.DevTypes.DbSet on t2.Local_TypeCode equals t3.TypeCode join t4 in db.Areas.DbSet on t2.ParentId equals t4.Id where t2.ParentId == AreadId && (t2.Local_TypeCode == 3000201 || t2.Local_TypeCode == 14 || t2.Local_TypeCode == 3000610 || t2.Local_TypeCode == 1000102) select new NearbyDev { id = t2.Id, Name = t2.Name, TypeCode = t2.Local_TypeCode, TypeName = t3.TypeName, Area = t4.Name, X = t2.PosX, Y = t2.PosY, Z = t2.PosZ }; if (query != null) { lst2 = query.ToList(); } foreach (NearbyDev item in lst2) { PosX2 = item.X - PosX; PosY2 = item.Y - PosY; PosZ2 = item.Z - PosZ; sqrtDistance = PosX2 * PosX2 + PosY2 * PosY2 + PosZ2 * PosZ2; Distance = (float)System.Math.Sqrt(sqrtDistance); item.Distance = Distance; if (Distance <= fDis) { NearbyDev item2 = item.Clone(); if (item2 != null) { lst.Add(item2); } } PosX2 = 0; PosY2 = 0; PosZ2 = 0; sqrtDistance = 0; Distance = 0; } lst.Sort(new DevDistanceCompare()); return(lst); }
public List <NearbyPerson> GetNearbyPerson_Alarm(int id, float fDis) { List <NearbyPerson> lst = new List <NearbyPerson>(); List <NearbyPerson> lst2 = new List <NearbyPerson>(); DbModel.Location.AreaAndDev.DevInfo dev = db.DevInfos.Find(id); if (dev == null || dev.ParentId == null) { return(lst); } int? AreadId = dev.ParentId; float PosX = dev.PosX; float PosY = dev.PosY; float PosZ = dev.PosZ; float PosX2 = 0; float PosY2 = 0; float PosZ2 = 0; float sqrtDistance = 0; float Distance = 0; var query = from t1 in db.LocationAlarms.DbSet join t2 in db.LocationCardPositions.DbSet on t1.LocationCardId equals t2.CardId join t3 in db.Personnels.DbSet on t1.PersonnelId equals t3.Id join t4 in db.Departments.DbSet on t3.ParentId equals t4.Id where t1.LocationCardId == AreadId select new NearbyPerson { id = t3.Id, Name = t3.Name, WorkNumber = t3.WorkNumber, DepartMent = t4.Name, Position = t3.Pst, X = t2.X, Y = t2.Y, Z = t2.Z }; if (query != null) { lst2 = query.ToList(); } foreach (NearbyPerson item in lst2) { PosX2 = item.X - PosX; PosY2 = item.Y - PosY; PosZ2 = item.Z - PosZ; sqrtDistance = PosX2 * PosX2 + PosY2 * PosY2 + PosZ2 * PosZ2; Distance = (float)System.Math.Sqrt(sqrtDistance); item.Distance = Distance; if (Distance <= fDis) { NearbyPerson item2 = item.Clone(); if (item2 != null) { lst.Add(item2); } } PosX2 = 0; PosY2 = 0; PosZ2 = 0; sqrtDistance = 0; Distance = 0; } lst.Sort(new PersonDistanceCompare()); return(lst); }
public bool EditArchor(Archor Archor, int ParentId) { bool bReturn = false; DbModel.Location.AreaAndDev.Archor Archor2; Archor2 = db.Archors.FirstOrDefault(p => p.Code == Archor.Code); if (Archor2 == null) { Archor2 = db.Archors.FirstOrDefault(p => p.DevInfoId == Archor.DevInfoId); } if (Archor2 == null) { LocationService service = new LocationService(); DbModel.Location.AreaAndDev.Area area = service.GetAreaById(ParentId); Archor2 = Archor.ToDbModel(); DbModel.Location.AreaAndDev.DevInfo dev = new DbModel.Location.AreaAndDev.DevInfo(); dev.Local_DevID = Guid.NewGuid().ToString(); dev.IP = ""; dev.KKS = ""; dev.Name = Archor2.Name; if (area != null) { dev.ModelName = area.Name == DepNames.FactoryName ? TypeNames.ArchorOutdoor : TypeNames.Archor;//室外基站||室内基站 } else { dev.ModelName = TypeNames.Archor; } dev.Status = 0; dev.ParentId = ParentId; dev.Local_TypeCode = TypeCodes.Archor; dev.UserName = "******"; Archor2.DevInfo = dev; Archor2.ParentId = ParentId; bReturn = db.Archors.Add(Archor2); } else { Archor2.Name = Archor.Name; Archor2.X = Archor.X; Archor2.Y = Archor.Y; Archor2.Z = Archor.Z; Archor2.Type = Archor.Type; Archor2.IsAutoIp = Archor.IsAutoIp; Archor2.Ip = Archor.Ip; Archor2.ServerIp = Archor.ServerIp; Archor2.ServerPort = Archor.ServerPort; Archor2.Power = Archor.Power; Archor2.AliveTime = Archor.AliveTime; Archor2.Enable = Archor.Enable; if (!string.IsNullOrEmpty(Archor.Code)) { Archor2.Code = Archor.Code; } bReturn = db.Archors.Edit(Archor2); } EditBusAnchor(Archor, ParentId); return(bReturn); }