private void button1_Click(object sender, EventArgs e) { ADAMControl control = new ADAMControl("", txtIP.Text, Convert.ToInt32(numPort.Value)); control.OpenDoor(Convert.ToInt32(numDO.Value)); }
void ReadServerData() { dbroomEntities dbroom = new dbroomEntities(); var ControllerData = from o in dbroom.tblControllerConfig select o; foreach (var data in ControllerData) { try { if (data.IP != "0.0.0.0") { #region 控制器 switch (data.ControlType) { case 1: if (!ServerData.RAC2400Controller.ContainsKey(data.ControlID)) { var Room = (from room in dbroom.tblEngineRoomConfig where room.ERID == data.ERID select room).First(); string RoomName = Room.ERName; var readerDatas = from reader in dbroom.tblCardReaderConfig where reader.ControlID == data.ControlID select reader; byte[] readerType = new byte[4]; int[] readerID = new int[4]; byte[] readerIO = new byte[4]; foreach (var readData in readerDatas) { byte NO = Convert.ToByte(readData.ReaderNO); byte io = 0; if (readData.RoomIO == "I") io = 1; else if (readData.RoomIO == "O") io = 2; readerIO[NO] = io; readerID[NO] = readData.ReaderID; readerType[NO] = Convert.ToByte(readData.ReaderType); } CardControl control = new CardControl(data.ControlID, data.IP, Room.ERNo, readerID, readerIO, readerType, data.ERID); ServerData.RAC2400Controller.Add(data.ControlID, control); ServerData.ThreadEndList.Add(control); System.Threading.Thread t = new System.Threading.Thread(control.HostAction); t.Start(); } break; case 2: if (!ServerData.RAC960Controller.ContainsKey(data.ControlID)) { var Room = (from room in dbroom.tblEngineRoomConfig where room.ERID == data.ERID select room).First(); string RoomName = Room.ERName; var readerData = (from reader in dbroom.tblCardReaderConfig where reader.ControlID == data.ControlID select reader).First(); byte type = 0; if (readerData.RoomIO == "I") type = 1; else if (readerData.RoomIO == "O") type = 2; RAC960CardControl control = new RAC960CardControl(data.ControlID, data.IP, Room.ERNo, readerData.ReaderID, type, data.Loop == "1"); ServerData.RAC960Controller.Add(data.ControlID, control); ServerData.ThreadEndList.Add(control); System.Threading.Thread t = new System.Threading.Thread(control.HostAction); t.Start(); } break; case 4: if (!ServerData.ADAMController.ContainsKey(data.ControlID)) { //if (data.IP == "192.168.100.21") //{ ADAMControl adam = new ADAMControl(data.ControlID, data.IP, data.Port); ServerData.ADAMController.Add(data.ControlID, adam); ServerData.ThreadEndList.Add(adam); System.Threading.Thread t = new System.Threading.Thread(adam.HostAction); t.Start(); //} } break; } #endregion if (!ServerData.ControlStatus.ContainsKey(data.ControlID)) { try { var RoomStatus = (from o in dbroom.tblDeviceStateLog where o.TypeID == 3 && o.ControlID == data.ControlID orderby o.TimeStamp descending select o).First(); ServerData.ControlStatus.Add(data.ControlID, new RoomInterface.ControlStatus(data.ControlID, RoomStatus.TypeCode == 0, RoomStatus.TimeStamp)); } catch { ServerData.ControlStatus.Add(data.ControlID, new RoomInterface.ControlStatus(data.ControlID, false, DateTime.Now)); } } } } catch (Exception ex) { TCommon.SaveLog(ex.Message + "\r\n" + ex.StackTrace); } } var UserData = from card in dbroom.tblMagneticCard select card; foreach (var user in UserData) { if (!ServerData.PersonnelData.ContainsKey(user.ABA)) { ServerData.PersonnelData.Add(user.ABA, user.Name); } if (!ServerData.PersonnelCompData.ContainsKey(user.ABA)) { ServerData.PersonnelCompData.Add(user.ABA, user.Company); } } var RoomData = from o in dbroom.tblEngineRoomConfig select o; foreach (var room in RoomData) { if (!ServerData.RoomPerson.ContainsKey(room.ERNo)) { ServerData.RoomPerson.Add(room.ERNo, new List<RoomCardData>()); DateTime OneDay = DateTime.Now.AddDays(-1); var RoomPersonData = from o in dbroom.tblEngineRoomLog where o.ERNo == room.ERNo && o.StartTime > OneDay select o; List<RoomCardData> NewRoomCardData = new List<RoomCardData>(); foreach (var RoomPerson in RoomPersonData) { bool AddData = true; bool InOut = RoomPerson.Endtime == null; for (int i =0 ;i < NewRoomCardData.Count;i++) { if (NewRoomCardData[i].CardID == RoomPerson.ABA) { if (NewRoomCardData[i].LastTime < RoomPerson.StartTime) { RoomCardData CardData = NewRoomCardData[i]; CardData.LastTime = RoomPerson.StartTime; CardData.In = InOut; } AddData = false; break; } } if (AddData) NewRoomCardData.Add(new RoomCardData(RoomPerson.ABA, ServerData.GetCardName(RoomPerson.ABA),ServerData.GetCarComp(RoomPerson.ABA), InOut, RoomPerson.StartTime,false)); } for (int i = 0; i < NewRoomCardData.Count; i++) { if (NewRoomCardData[i].In) { ServerData.RoomPerson[room.ERNo].Add(NewRoomCardData[i]); } } var adamControl = from o in dbroom.tblControllerConfig where o.ERID == room.ERID && o.ControlType == 4 select o.ControlID; if (adamControl.Count() > 0) { ServerData.RoomControl.Add(room.ERNo, adamControl.First()); } } } var Group = from o in dbroom.tblSysRole select o; foreach (var role in Group) { if (!ServerData.GroupDataDic.ContainsKey(role.RoleID)) { GroupData newGroupData = new GroupData(role.RoleID); var groupController = from o in dbroom.tblSysRoleAuthority where o.RoleID == role.RoleID && o.Enable == "Y" select o; foreach(var Controller in groupController) { newGroupData.ControlID.Add(Controller.ControlID); } ServerData.GroupDataDic.Add(role.RoleID, newGroupData); } } var MagenticCard = from o in dbroom.tblMagneticCard select o; foreach (var card in MagenticCard) { if (!ServerData.GroupCardDic.ContainsKey(card.RoleID)) { ServerData.GroupCardDic.Add(card.RoleID, new List<GroupCardData>()); } ServerData.GroupCardDic[card.RoleID].Add(new GroupCardData(card.ABA, card.StartDate, card.EndDate, card.RoleID)); } var ControlCrads = from magentic in dbroom.tblMagneticCard join role in dbroom.tblSysRoleAuthority on magentic.RoleID equals role.RoleID where role.Enable == "Y" && magentic.Enable == "Y" select new { ABA = magentic.ABA, controlID = role.ControlID }; foreach (var data in ControlCrads) { if (!ServerData.ControlCardDic.ContainsKey(data.controlID)) { ServerData.ControlCardDic.Add(data.controlID, new List<string>()); } ServerData.ControlCardDic[data.controlID].Add(data.ABA); } var ControlNames = from control in dbroom.tblControllerConfig join door in dbroom.tblEntranceGuardConfig on control.EntranceCode equals door.EntranceCode join room in dbroom.tblEngineRoomConfig on door.ERID equals room.ERID select new { controlID = control.ControlID, doorName = door.Memo, roomName = room.ERName }; foreach (var controlData in ControlNames) { if (!ServerData.ControlName.ContainsKey(controlData.controlID)) { ServerData.ControlName.Add(controlData.controlID, controlData.roomName + controlData.doorName); } } }