protected void stopLocating_Click(object sender, EventArgs e) { if (!this.IsLocatingServiceAvailable) { feedbacks.Items.AddError("请求失败,请检查 LocatingService 是否可被连接。"); LoadRepeater(); return; } int[] tagIdArray = Strings.ParseToArray <int>(selectedTagIds.Value); if (tagIdArray.Length == 0) { feedbacks.Items.AddError("操作失败,没有选中任何记录行。"); LoadRepeater(); return; } TagLocateSetting.StopLocating(tagIdArray); // Send a command to LocatingService. LocatingServiceUtil.Instance <IServiceApi>().StartStopLocating(); // Reload List LoadRepeater(); }
public static string ChangeTag(int oldTagId, int newTagId) { string newMac = "FAIL"; if (oldTagId == newTagId) { return(""); } HostTagGroupStatus hostTag = HostTagGroupStatus.SelectByTagId(oldTagId); if (LocatingServiceUtil.IsAvailable()) { //TagUser user = TagUser.SelectByTagId(oldTagId); IServiceApi serviceApi = LocatingServiceUtil.Instance <IServiceApi>(); newMac = serviceApi.ExchangeTagMac(hostTag.HostId, oldTagId, newTagId); //无锡换地标 if (Config.Settings.ProjectType == ProjectTypeEnum.WXFactory) { Tag oldTag = Tag.Select(oldTagId); Tag newTag = Tag.Select(newTagId); //更新缓存 IDictionary <string, APStatusView> dicAPStatus = APStatusView.SelectFullAPStatusView(); IServiceApi serApi = LocatingServiceUtil.Instance <IServiceApi>(); serApi.ExchangePositionTag(oldTag.TagMac, newTag.TagMac); //更新数据库 AP.ChangeMac(oldTag.TagMac, newTag.TagMac); } //自定将标签启动和停止定位 TagLocateSetting.StopLocating(new int[] { oldTagId }); if (Config.Settings.ProjectType != ProjectTypeEnum.WXFactory) { if (newTagId > 0) { SetStartLocating(newTagId); } else { newMac = "未携带标签"; } // Send a command to LocatingService. LocatingServiceUtil.Instance <IServiceApi>().StartStopLocating(); } //记录日志 string calling = GetGroupName(hostTag.HostGroupId); if (newTagId > 0) { Diary.Insert(ContextUser.Current.Id, newTagId, hostTag.HostId, "为" + calling + hostTag.HostName + "调换标签,新标签MAC: " + newMac + "。"); } else { Diary.Insert(ContextUser.Current.Id, newTagId, hostTag.HostId, "为" + calling + hostTag.HostName + "解除绑定标签,原标签MAC: " + hostTag.TagMac + "。"); } //SecurityLog.Insert(newTagId, hostTag.HostId, "为" + calling + hostTag.HostName + "调换标签,新标签MAC: " + newMac + "。", Priority.High); } /*else * { * HostTag.ChangeHostTagBinding(hostTag.HostId, newTagId); * Tag oTag = Tag.Select(newTagId); * newMac = oTag.TagMac; * //自定将标签启动和停止定位 * TagLocateSetting.StopLocating(new int[] { oldTagId }); * SetStartLocating(newTagId); * * //记录日志 * string calling = GetGroupName(hostTag.HostGroupId); * SecurityLog.Insert(hostTag.TagId, hostTag.HostId, "为" + calling + hostTag.HostName + "调换标签,新标签MAC: " + newMac + "。", Priority.High); * }*/ //AlertProcessLog.DeleteAlertProcessLog(hostTag.HostId); //TagAlert.DeleteTagAlerts(hostTag.HostId); return(newMac); }
protected void deleteButton_Click(object sender, EventArgs e) { //TagUser user = TagUser.SelectById(_id); HostTag host = HostTag.GetById(_id); if (host != null) { bool serviceAvailable = LocatingServiceUtil.IsAvailable(); var tagId = host.TagId; if (tagId > 0) { using (AppDataContext db = new AppDataContext()) { //更新标签名称 Tag tag = Tag.Select(tagId); if (tag != null) { string mac = tag.TagMac; if (serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().UpdateTagNameAndSerialNo(tagId, "NewTag_" + mac.Substring(12), ""); } else { Tag.UpdateTagNameAndSerialNo(tagId, "NewTag_" + mac.Substring(12), ""); } } //删除标签历史记录和相关信息 AreaEventLog.DeleteByTagId(tagId); GenericEventLog.DeleteByTagId(tagId); TagPositionLog.DeleteByTagId(tagId); //LocationChangeLog.DeleteMany(tagId); //LatestEvent.DeleteByTagId(tagId); TagEventStatus.DeleteMany(tagId); TagPositionStatus.DeleteMany(tagId); AreaWarningRuleCoverage.DeleteMany(tagId); TagAlert.DeleteTagAlerts(tagId); //保留低电记录 //db.ExecuteCommand("delete from history_BatteryResetLog where TagId=", tagId); } TagLocateSetting.StopLocating(tagId); if (serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().StartStopLocating(); } //TagUser.DeleteById(_id); TagStatusView.SelectTagStatus(tagId).HostTag = null; } TagAlert.DeleteTagAlerts(_id); //删除人员信息 HostTag.DeleteHostTag(_id); //记录日志 if (tagId > 0 && serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().ReloadTagHost(tagId); } Diary.Insert(ContextUser.Current.Id, tagId, _id, "删除使用者" + host.HostName + "的信息" + (host.TagId == 0 ? "" : "并解除标签绑定。") + "。"); } ShowMessagePage("删除成功。"); }
protected void deleteButton_Click(object sender, EventArgs e) { HostTag host = HostTag.GetById(_id); if (host != null) { bool serviceAvailable = LocatingServiceUtil.IsAvailable(); var tagId = host.TagId; if (tagId > 0) { using (AppDataContext db = new AppDataContext()) { //更新标签名称 Tag tag = Tag.Select(tagId); if (tag != null) { string mac = tag.TagMac; if (serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().UpdateTagNameAndSerialNo(tagId, "NewTag_" + mac.Substring(12), ""); } else { Tag.UpdateTagNameAndSerialNo(tagId, "NewTag_" + mac.Substring(12), ""); } } //删除标签历史记录和相关信息 AreaEventLog.DeleteByTagId(tagId); GenericEventLog.DeleteByTagId(tagId); TagPositionLog.DeleteByTagId(tagId); //LocationChangeLog.DeleteMany(tagId); //LatestEvent.DeleteByTagId(tagId); TagEventStatus.DeleteMany(tagId); TagPositionStatus.DeleteMany(tagId); AreaWarningRuleCoverage.DeleteMany(tagId); InterrogationLog.DeleteMany(host.HostId); TagAlert.DeleteTagAlerts(tagId); //删除低电记录: 不执行删除 //db.ExecuteCommand("delete from history_BatteryResetLog where TagId=", tagId); } TagLocateSetting.StopLocating(tagId); if (serviceAvailable) { var s = LocatingServiceUtil.Instance <IServiceApi>(); s.StartStopLocating(); } int areaId = CulpritRoomReference.GetRoomIdByCulpritId(host.HostId); if (areaId != 0) { //查询警告条件 var ruleId = AreaWarningRule.SelectRuleByAreaId(areaId).Select(x => x.Id).FirstOrDefault(); //如果警告条件不存在,则自动建立一条 if (ruleId != 0) { //为警告条件设置关联标签 var culpritIdArray = CulpritRoomReference.All.Where(x => x.JailRoomId == areaId).Select(x => x.CulpritId).ToArray(); var tagIdArray = HostTag.All.Where(x => culpritIdArray.Contains(x.HostId) && x.TagId > 0 && x.TagId != tagId).Select(x => x.TagId).ToArray(); if (serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().SetWarningRuleCoverage(ruleId, tagIdArray); } else { AreaWarningRuleCoverage.SetCoverage(ruleId, tagIdArray); } } } } //删除使用者信息 CulpritRoomReference.DeleteByCulpritId(_id); //TagUser.DeleteById(_id); HostTag.DeleteHostTag(_id); TagStatusView.SelectTagStatus(tagId).HostTag = null; if (tagId > 0 && serviceAvailable) { LocatingServiceUtil.Instance <IServiceApi>().ReloadTagHost(tagId); } //记录日志 Diary.Insert(ContextUser.Current.Id, tagId, _id, "删除犯人" + host.HostName + "的信息" + (host.TagId == 0 ? "" : "并解除标签绑定。") + "。"); } ShowMessagePage("删除成功。"); }