private void Client_DataReceived(object sender, SimpleTCP.Message e) { FileWorker.LogHelper.WriteLog("刷卡信息:" + e.MessageString); string[] messageArr = e.MessageString.Split(new string[] { "TRDS" }, StringSplitOptions.RemoveEmptyEntries); for (int j = 0; j < messageArr.Length; j++) { messageArr[j] = "TRDS" + messageArr[j]; } for (int i = 0; i < messageArr.Length; i++) { string[] receMessage = messageArr[i].Split(new char[] { '|' }); if (receMessage[0] == "TRDS") { if (receMessage.Length >= 10) { AccessEntity accessEnt = AccessParseTool.parseAccess(receMessage); string jsonMess = accessEnt.toJson(); KafkaWorker.sendAccessMessage(jsonMess); anoAlarm = GetConfigMess(); if (anoAlarm.Keys.Contains(receMessage[9])) { AlarmEntity alarmEnt = AlarmParseTool.parseAlarm(receMessage, anoAlarm); string jsonAlarm = alarmEnt.toJson(); KafkaWorker.sendAlarmMessage(jsonAlarm); } } else { FileWorker.LogHelper.WriteLog("刷卡信息不全," + messageArr[i]); } } } }
protected static void DefaultCMSContentCreated(object sender, ActiveEventArgs e) { AccessEntity a = new AccessEntity(); a.MenuValue = "url:~/"; a.RoleName = "Everyone"; a.Save(); }
public IHttpActionResult Create(AccessEntity model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { _accessService.Insert(model); return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Update(AccessEntity model) { if (model == null) { return(BadRequest()); } try { _accessService.Update(model); return(Ok(model)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public static AccessEntity parseAccess(string cardNumber, string deviceCode, string enterOrExit, string personId, string swingTime, string deptName, string deviceName, string personName, string openType, string openTypeName) { AccessEntity accessEntity = null; try { accessEntity = new AccessEntity(); accessEntity.meta.eventType = "ACS_RECORD_CARD"; accessEntity.meta.msgType = "RECORD_CARD"; accessEntity.meta.receiver = ""; accessEntity.meta.recvSequence = ""; accessEntity.meta.recvTime = ""; accessEntity.meta.sender = "MJRECORD"; accessEntity.meta.sendTime = DateTime.Now.ToString("yyyyMMddHHmmss"); accessEntity.meta.sequence = ""; accessEntity.body.cardNumber = cardNumber; accessEntity.body.cardStatus = ""; accessEntity.body.cardType = ""; accessEntity.body.cardTypeName = "IC卡"; accessEntity.body.channelCode = ""; accessEntity.body.channelName = ""; accessEntity.body.deptName = deptName; accessEntity.body.deviceCode = deviceCode; accessEntity.body.deviceName = deviceName; accessEntity.body.enterOrExit = enterOrExit; accessEntity.body.id = ""; accessEntity.body.openResult = "1"; accessEntity.body.openType = openType; accessEntity.body.openTypeName = openTypeName; accessEntity.body.paperNumber = ""; accessEntity.body.personCode = personId; accessEntity.body.personId = personId; accessEntity.body.personName = personName; accessEntity.body.swingTime = swingTime; } catch (Exception ex) { FileWorker.LogHelper.WriteLog("解析刷卡失败," + ex.Message); } return(accessEntity); }
public static AccessEntity parseAccess(AxHSCEventSDK accessInfo, AxHSCCardHolderSDK cardHolder) { AccessEntity accessEntity = null; try { accessEntity = new AccessEntity(); accessEntity.meta.eventType = "ACS_RECORD_CARD"; accessEntity.meta.msgType = "RECORD_CARD"; accessEntity.meta.receiver = ""; accessEntity.meta.recvSequence = ""; accessEntity.meta.recvTime = ""; accessEntity.meta.sender = "MJRECORD"; accessEntity.meta.sendTime = DateTime.Now.ToString("yyyyMMddHHmmss"); accessEntity.meta.sequence = ""; accessEntity.body.cardNumber = accessInfo.sUserCardID; accessEntity.body.cardStatus = ""; accessEntity.body.cardType = ""; accessEntity.body.channelCode = ""; accessEntity.body.channelName = accessInfo.sPanelName; accessEntity.body.deptName = cardHolder.sCardUserDepartment;//accessInfo.sUserDepartment; accessEntity.body.deviceCode = accessInfo.sEventLocation; accessEntity.body.deviceName = accessInfo.sEventDes; accessEntity.body.enterOrExit = "3"; accessEntity.body.id = ""; accessEntity.body.openResult = "1"; accessEntity.body.openType = ""; accessEntity.body.paperNumber = ""; accessEntity.body.personCode = ""; accessEntity.body.personId = accessInfo.sUserID; accessEntity.body.personName = accessInfo.sUserName; accessEntity.body.swingTime = DateTime.Parse(accessInfo.sEventTime).ToString("yyyy-MM-dd HH:mm:ss"); } catch (Exception ex) { FileWorker.LogHelper.WriteLog("解析刷卡失败," + ex.Message); } return(accessEntity); }
public static AccessEntity parseAccess(string[] message) { AccessEntity accessEntity = null; try { accessEntity = new AccessEntity(); accessEntity.meta.eventType = "ACS_RECORD_CARD"; accessEntity.meta.msgType = "RECORD_CARD"; accessEntity.meta.receiver = ""; accessEntity.meta.recvSequence = ""; accessEntity.meta.recvTime = ""; accessEntity.meta.sender = "MJRECORD"; accessEntity.meta.sendTime = DateTime.Now.ToString("yyyyMMddHHmmss"); accessEntity.meta.sequence = ""; accessEntity.body.deviceCode = message[8]; //刷卡设备编号 //通过设备编号查询设备名称 accessEntity.body.deviceName = SeleSql(message[8]); accessEntity.body.swingTime = message[6]; //刷卡时间 第五个 accessEntity.body.personCode = message[3]; //人员编号 第三个 accessEntity.body.personName = SelePersonTable(message[3], 0); accessEntity.body.deptName = SelePersonTable(message[3], 3); //accessEntity.body.personName 人员名称 //accessEntity.body.deptName 部门名称 accessEntity.body.openResult = message[2]; //刷卡的一个结果 accessEntity.body.channelCode = message[1]; //通道编码--内部编码 accessEntity.body.cardNumber = ""; //卡编号,暂时 //accessEntity.body.cardNumber = ""; accessEntity.body.cardStatus = ""; accessEntity.body.cardType = ""; accessEntity.body.channelName = ""; accessEntity.body.enterOrExit = ""; accessEntity.body.id = ""; accessEntity.body.openType = ""; accessEntity.body.paperNumber = ""; accessEntity.body.personId = ""; //accessEntity.body.cardNumber = accessInfo.sUserCardID; //accessEntity.body.cardStatus = ""; //accessEntity.body.cardType = ""; //accessEntity.body.channelCode = ""; //accessEntity.body.channelName = accessInfo.sPanelName; //accessEntity.body.deptName = accessInfo.sUserDepartment; //accessEntity.body.deviceCode = accessInfo.sEventDevice; //accessEntity.body.deviceName = accessInfo.sEventDevice; //accessEntity.body.enterOrExit = "3"; //accessEntity.body.id = ""; //accessEntity.body.openResult = "1"; //accessEntity.body.openType = ""; //accessEntity.body.paperNumber = ""; //accessEntity.body.personCode = ""; //accessEntity.body.personId = accessInfo.sUserID; //accessEntity.body.personName = accessInfo.sUserName; //accessEntity.body.swingTime = DateTime.Parse(accessInfo.sEventTime).ToString("yyyy-MM-dd HH:mm:ss"); } catch (Exception ex) { FileWorker.LogHelper.WriteLog("解析刷卡失败," + ex.Message); } return(accessEntity); }
public void UpdateTestClient(Obj obixObj, Watch watch) { //FileWorker.LogHelper.WriteLog("收到数据:"+watch.type.ToString()+";;长度是"+obixObj.list().Length.ToString()); if (watch.type == WatchType.Alarm) { if (obixObj.list().Length > 0) { if (obixObj.list()[0].list().Length > 0) { //FileWorker.LogHelper.WriteLog("obixObj.list()[0].list().Length长度是" + obixObj.list()[0].list().Length.ToString()); if (obixObj.list()[0].list()[0].list().Length > 0) { //FileWorker.LogHelper.WriteLog("obixObj.list()[0].list()[0].list().Length长度是" + obixObj.list()[0].list()[0].list().Length.ToString()); foreach (Obj obj in obixObj.list()[0].list()[0].list()) { try { string time = ((Abstime)obj.get("timestamp")).Val.ToString(); string type = ((Int)obj.get("eventType")).Val.ToString(); string desc = obj.Display.ToString(); object id = obj.Href; object ack = obj.get("ack"); object clear = obj.get("clear"); object pointDescription = null; object priority = ((Int)obj.get("priority")).Val; string source = string.Empty; string alarmType = null; string fname = string.Empty; string lname = string.Empty; object cardnumber = null; string user = string.Empty; string card = string.Empty; string deviceName = string.Empty; string deptName = string.Empty; if (obj.get("companyname") != null) { deptName = obj.get("companyname").ToString(); } if (obj.get("devicedescription") != null) { deviceName = obj.get("devicedescription").ToString(); } if (obj.get("source") != null) { source = obj.get("source").Href.ToString(); } if (obj.get("fname") != null) { fname = obj.get("fname").ToString(); } if (obj.get("lname") != null) { lname = obj.get("lname").ToString(); } if (obj.get("cardnumber") != null) { cardnumber = obj.get("cardnumber").Href; } if (obj.get("accessUser") != null) { user = obj.get("accessUser").Href.ToString(); } if (obj.get("accessCredential") != null) { card = obj.get("accessCredential").Href.ToString(); } if (obj.get("AlarmStatus") != null) { alarmType = ((Str)obj.get("AlarmStatus")).Val; } if (obj.get("pointdescription") != null) { pointDescription = ((Str)obj.get("pointdescription")).Val; } FileWorker.LogHelper.WriteLog(string.Format("eventType:{0};desc:{1};source:{2};user:{3};credential:{4}", type, desc, source, user, card)); if (source != string.Empty) { source = DataFormatTool.pickTailFromString(source); } time = DataFormatTool.formatDatetime(time); //event type=500是刷卡,只有刷卡时才产生卡号、人员编号 if (type == "500") { if (card != string.Empty) { card = DataFormatTool.pickTailFromString(card); } if (user != string.Empty) { user = DataFormatTool.pickTailFromString(user); } AccessEntity access = AccessParseTool.parseAccess(card, source, "1", user, time, deptName, deviceName, lname + fname, "", "刷卡+密码开门"); KafkaWorker.sendAccessMessage(access.toJson()); //continue; } if (type == "608")//按钮开门,无卡号、人员编号 { AccessEntity access = AccessParseTool.parseAccess("", source, "2", "", time, "", deviceName, "", "", "按钮开门"); KafkaWorker.sendAccessMessage(access.toJson()); continue; } if (type == "903" || type == "10903") { DeviceStateEntity devState = DeviceStateParseTool.parseDeviceState(source, type); KafkaWorker.sendDeviceMessage(devState.toJson()); } //423,400,10900,900,500,903 if (alarmRuleDic.ContainsKey(type))//报警 { AlarmEntity alarm = AlarmParseTool.parseAlarm(source, alarmRuleDic[type].Item1, alarmRuleDic[type].Item2, time, airportIata, airportName); KafkaWorker.sendAlarmMessage(alarm.toJson()); continue; } } catch (Exception ex) { FileWorker.LogHelper.WriteLog("消息接收及解析、发送过程中出现异常:" + ex.Message); continue; } } } } } } #region 暂时不用 else //watch.type == WatchType.Object { if (obixObj.list().Length > 0) { DateTime updateTime = DateTime.Now; foreach (Obj obj in obixObj.list()[0].list()) { //bool rowFound = false; //for (int i = 0; i < grd.Rows.Count; i++) //{ // if (grd.Rows[i].Cells[0].Value.Equals(obj.Href)) // { // if (obj.isErr()) // { // //Object deleted in PW // grd.Rows.RemoveAt(i); // } // else // { // grd.Rows[i].Cells[1].Value = DateTime.Now; // updateTime = (DateTime)grd.Rows[i].Cells[1].Value; // } // rowFound = true; // break; // } //} //if (!rowFound) //{ // updateTime = DateTime.Now; // //grd.Rows.Add(obj.Href, updateTime); //} ////when object's parent url is subscribed. //System.Uri uri = obj.Href.toUri(); //if (uri.Segments.Length >= 5) //{ // string strUri = uri.ToString(); // if (strUri.EndsWith("/")) // strUri = strUri.Substring(0, strUri.Length - 1); // int nIndex = strUri.LastIndexOf("/"); // strUri = strUri.Substring(0, nIndex); // for (int i = 0; i < grd.Rows.Count; i++) // { // string strObjHref = Convert.ToString(grd.Rows[i].Cells[0].Value); // if (strObjHref.EndsWith("/")) // strObjHref = strObjHref.Substring(0, strObjHref.Length - 1); // if (strObjHref.Equals(strUri)) // { // grd.Rows[i].Cells[1].Value = updateTime; // break; // } // } //} } } } #endregion }
protected void CreateNewRoleMenuMapping(object sender, ActiveEventArgs e) { string roleName = e.Params["RoleName"].Get<string>(); string menuValue = e.Params["MenuValue"].Get<string>(); string pars = e.Params["Params"].Get<string>(); List<Criteria> crit = new List<Criteria> { Criteria.Eq("MenuValue", menuValue), Criteria.Eq("RoleName", roleName) }; if( pars != null) crit.Add(Criteria.Eq("Params", pars)); if (string.IsNullOrEmpty(menuValue)) { Node node = new Node(); node["Message"].Value = Language.Instance["RoleYouCanNotInfo", null, @"You cannot change the accessibility of that item since it has no 'Value' property"]; node["Duration"].Value = 2000; ActiveEvents.Instance.RaiseActiveEvent( this, "ShowInformationMessage", node); } else if (ActiveType<AccessEntity>.CountWhere(crit.ToArray()) > 0) { Node node = new Node(); node["Message"].Value = String.Format(Language.Instance["RoleAlreadyAssociatedInfo", null, @"Role; '{0}' already associated with item..."], roleName); node["Duration"].Value = 2000; ActiveEvents.Instance.RaiseActiveEvent( this, "ShowInformationMessage", node); } else { AccessEntity a = new AccessEntity { MenuValue = menuValue, RoleName = roleName, Params = pars }; a.Save(); // Running upwards in the hierarchy and creating new access objects for all // parents recursively, since otherwise there's no point at all in adding // the access to the menu item... Node parent = e.Params["Parents", false]; while (parent != null) { string parentRoleName = parent["RoleName"].Get<string>(); string parentMenuValue = parent["MenuValue"].Get<string>(); if (parentMenuValue == null) break; if (ActiveType<AccessEntity>.CountWhere( Criteria.Eq("RoleName", parentRoleName), Criteria.Eq("MenuValue", parentMenuValue)) == 0) { AccessEntity aParent = new AccessEntity { RoleName = parentRoleName, MenuValue = parentMenuValue }; aParent.Save(); } parent = parent["Parents", false]; } // Sending back updates... int idxNo = 0; foreach (AccessEntity idx in ActiveType<AccessEntity>.Select()) { e.Params["Access"]["Access" + idxNo]["MenuValue"].Value = idx.MenuValue; e.Params["Access"]["Access" + idxNo]["RoleName"].Value = idx.RoleName; e.Params["Access"]["Access" + idxNo]["Params"].Value = idx.Params; idxNo += 1; } } }