private static void AddFieldToQuery(GroupQuery groupQuery, string keyword, Field field, bool wildcard = true) { if (wildcard) { if (keyword.StartsWith("\"") && keyword.EndsWith("\"")) { var fieldQuery = new FieldQuery(keyword.Trim(), field); groupQuery.QueryExpressions.Add(fieldQuery); return; } if (keyword.Trim().Contains(" ")) { var words = keyword.Trim().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); var query = new GroupQuery(LuceneOperator.OR); foreach (string w in words) { if (w.Equals("and") || w.Equals("+")) { continue; } var s = w.Replace("\"", string.Empty).Trim(); var f = new FieldQuery(string.Format("{0}*", LuceneHelpers.Escape(s)), field); query.QueryExpressions.Add(f); } groupQuery.QueryExpressions.Add(query); } else { var fieldQuery = new FieldQuery(string.Format("{0}*", LuceneHelpers.Escape(keyword)), field); groupQuery.QueryExpressions.Add(fieldQuery); } } else { var fieldQuery = new FieldQuery(string.Format("{0}", LuceneHelpers.Escape(keyword.Trim())), field); groupQuery.QueryExpressions.Add(fieldQuery); } }
protected void Page_Load(object sender, EventArgs e) { if (ManagerAssist.stop_list.Count == 0) { string url = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "App_Data\\StopList\\中文停用词.txt"; StreamReader objReader = new StreamReader(url, Encoding.GetEncoding("UTF-8")); //StringReader SR = new StringReader(url); String line = ""; while ((line = objReader.ReadLine()) != null) { ManagerAssist.stop_list.Add(line); } objReader.Close(); } List <GroupNode> primarygroupNodeList = GroupQuery.getAllPrimaryGroups(); foreach (GroupNode primaryGroupNode in primarygroupNodeList) { ListItem item = new ListItem(primaryGroupNode.NodeName, "" + primaryGroupNode.PrimaryGroupId); SearchDropDownList.Items.Add(item); } }
private IQueryExpression CreateQuery(string searchText, IEnumerable<ContentReference> searchRoots, HttpContextBase context, string languageBranch) { //Main query which groups other queries. Each query added //must match in order for a page or file to be returned. var query = new GroupQuery(LuceneOperator.AND); //Add free text query to the main query query.QueryExpressions.Add(new FieldQuery(searchText)); //Search for pages using the provided language var pageTypeQuery = new GroupQuery(LuceneOperator.AND); pageTypeQuery.QueryExpressions.Add(new ContentQuery<PageData>()); pageTypeQuery.QueryExpressions.Add(new FieldQuery(languageBranch, Field.Culture)); //Search for media without languages var contentTypeQuery = new GroupQuery(LuceneOperator.OR); contentTypeQuery.QueryExpressions.Add(new ContentQuery<MediaData>()); contentTypeQuery.QueryExpressions.Add(pageTypeQuery); query.QueryExpressions.Add(contentTypeQuery); //Create and add query which groups type conditions using OR var typeQueries = new GroupQuery(LuceneOperator.OR); query.QueryExpressions.Add(typeQueries); foreach (var root in searchRoots) { var contentRootQuery = new VirtualPathQuery(); contentRootQuery.AddContentNodes(root, _contentLoader); typeQueries.QueryExpressions.Add(contentRootQuery); } var accessRightsQuery = new AccessControlListQuery(); accessRightsQuery.AddAclForUser(PrincipalInfo.Current, context); query.QueryExpressions.Add(accessRightsQuery); return query; }
public static int Count <T>(string keywords, ContentReference root) where T : IContent { var groupQuery = new GroupQuery(LuceneOperator.AND); groupQuery.QueryExpressions.Add(new ContentQuery <T>()); if (string.IsNullOrWhiteSpace(keywords)) { var dateRangeQuery = new CreatedDateRangeQuery(DateTime.MinValue, DateTime.MaxValue, true); groupQuery.QueryExpressions.Add(dateRangeQuery); } else { var keywordGroupQuery = new GroupQuery(LuceneOperator.OR); keywordGroupQuery.QueryExpressions.Add(AddQueryExpression(keywords, Field.Title)); keywordGroupQuery.QueryExpressions.Add(AddQueryExpression(keywords, Field.DisplayText)); groupQuery.QueryExpressions.Add(keywordGroupQuery); } var searchHandler = ServiceLocator.Current.GetInstance <LuceneContentSearchHandler>(); return(searchHandler.GetSearchResults <T>(groupQuery, root, 1, int.MaxValue, null, true).TotalHits); }
public virtual void testQueryByMember() { GroupQuery query = identityService.createGroupQuery().groupMember("fozzie"); verifyQueryResults(query, 2); query = identityService.createGroupQuery().groupMember("kermit"); verifyQueryResults(query, 3); query = query.orderByGroupId().asc(); IList <Group> groups = query.list(); assertEquals(3, groups.Count); assertEquals("admin", groups[0].Id); assertEquals("frogs", groups[1].Id); assertEquals("muppets", groups[2].Id); query = query.groupType("user"); groups = query.list(); assertEquals(2, groups.Count); assertEquals("frogs", groups[0].Id); assertEquals("muppets", groups[1].Id); }
public static IList <T> SearchTags <T>(string tags, ContentReference root, int pageNumber, int pageSize, Collection <SortField> sortFields, out int totalItems) where T : IContent { var groupQuery = new GroupQuery(LuceneOperator.AND); groupQuery.QueryExpressions.Add(new ContentQuery <T>()); var keywordGroupQuery = new GroupQuery(LuceneOperator.OR); keywordGroupQuery.QueryExpressions.Add(AddQueryExpression(tags, Field.DisplayText)); groupQuery.QueryExpressions.Add(keywordGroupQuery); var searchHandler = ServiceLocator.Current.GetInstance <LuceneContentSearchHandler>(); // Get search results var results = searchHandler.GetSearchResults <T>(groupQuery, root, pageNumber, pageSize, sortFields, true); totalItems = results.TotalHits; // Convert search results to pages var indexResponseItems = results.IndexResponseItems; return(indexResponseItems.Select(v => searchHandler.GetContent <T>(v)).Where(v => v != null).ToList()); }
public virtual SearchResults GetSearchResults <T>(string searchQuery, ContentReference root, int page, int pageSize, Collection <SortField> sortFields, bool filterOnAccess) where T : IContent { if (!this.ServiceActive) { return(null); } var groupQuery = new GroupQuery(LuceneOperator.AND); groupQuery.QueryExpressions.Add(new ContentQuery <T>()); groupQuery.QueryExpressions.Add(new FieldQuery(ContentLanguage.PreferredCulture.Name, Field.Culture)); groupQuery.QueryExpressions.Add(new FieldQuery(searchQuery)); if (!ContentReference.IsNullOrEmpty(root)) { var virtualPathQuery = new VirtualPathQuery(); virtualPathQuery.AddContentNodes(root, this.contentRepository); groupQuery.QueryExpressions.Add(virtualPathQuery); } if (filterOnAccess) { var accessControlListQuery = new AccessControlListQuery(); accessControlListQuery.AddAclForUser(PrincipalInfo.Current, HttpContext.Current); groupQuery.QueryExpressions.Add(accessControlListQuery); } #region Customized Collection <string> sortFieldCollection = null; if (sortFields != null && sortFields.Count > 0) { sortFieldCollection = new Collection <string>(); foreach (var sortField in sortFields) { sortFieldCollection.Add(string.Format("{0},{1},{2}", sortField.Field, sortField.Type, sortField.Reverse)); } } #endregion return(this.searchHandler.GetSearchResults(groupQuery, this.NamedIndexingService, this.namedIndexes, page, pageSize, sortFieldCollection)); }
private IQueryExpression CreateQuery(string searchText, IEnumerable <ContentReference> searchRoots, HttpContextBase context, string languageBranch) { var query = new GroupQuery(LuceneOperator.AND); query.QueryExpressions.Add(new FieldQuery(searchText)); var pageTypeQuery = new GroupQuery(LuceneOperator.AND); pageTypeQuery.QueryExpressions.Add(new ContentQuery <PageData>()); pageTypeQuery.QueryExpressions.Add(new FieldQuery(languageBranch, Field.Culture)); var contentTypeQuery = new GroupQuery(LuceneOperator.OR); contentTypeQuery.QueryExpressions.Add(new ContentQuery <MediaData>()); contentTypeQuery.QueryExpressions.Add(pageTypeQuery); query.QueryExpressions.Add(contentTypeQuery); var typeQueries = new GroupQuery(LuceneOperator.OR); query.QueryExpressions.Add(typeQueries); foreach (var root in searchRoots) { var contentRootQuery = new VirtualPathQuery(); contentRootQuery.AddContentNodes(root); typeQueries.QueryExpressions.Add(contentRootQuery); } var accessRightsQuery = new AccessControlListQuery(); accessRightsQuery.AddAclForUser(PrincipalInfo.Current, context); query.QueryExpressions.Add(accessRightsQuery); return(query); }
public static int CountPastEvents <T>(IList <string> tags, ContentReference root, int pageNumber, int pageSize) where T : IContent { var groupQuery = new GroupQuery(LuceneOperator.AND); groupQuery.QueryExpressions.Add(new ContentQuery <T>()); groupQuery.QueryExpressions.Add(new OlderEventQuery()); if (tags != null && tags.Count > 0) { var tagGroupQuery = new GroupQuery(LuceneOperator.AND); tagGroupQuery.QueryExpressions.Add(new EventTagQuery(tags, LuceneOperator.OR)); groupQuery.QueryExpressions.Add(tagGroupQuery); } var searchHandler = ServiceLocator.Current.GetInstance <LuceneContentSearchHandler>(); // Get search results var sortFields = new Collection <SortField>(); sortFields.Add(new SortField(EventDateField.FieldName, SortField.LONG, true)); var results = searchHandler.GetSearchResults <T>(groupQuery, root, 1, pageSize, sortFields, true); return(results.TotalHits); }
/// <summary> /// 组合查询方法 /// </summary> /// <param name="dic">条件</param> /// <returns>查询内容</returns> public DataTable SelectGroupQuer(GroupQuery gropuQuery) { DataTable dt = new DataTable(); string sql = "PROC_GroupCheck";//存储过程 SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@comboFields1", gropuQuery.Field1), new SqlParameter("@comboFields2", gropuQuery.Field2), new SqlParameter("@comboFields3", gropuQuery.Field3), new SqlParameter("@comboOperators1", gropuQuery.Operator1), new SqlParameter("@comboOperators2", gropuQuery.Operator2), new SqlParameter("@comboOperators3", gropuQuery.Operator3), new SqlParameter("@textBox1", gropuQuery.Content1), new SqlParameter("@textBox2", gropuQuery.Content2), new SqlParameter("@textBox3", gropuQuery.Content3), new SqlParameter("@comboCheck1", gropuQuery.Relation1), new SqlParameter("@comboCheck2", gropuQuery.Relation2), new SqlParameter("@DbName", gropuQuery.DbName) }; dt = sqlHelper.ExecuteQuery(sql, paras, CommandType.StoredProcedure); return(dt); }
public virtual void testQueryById() { GroupQuery query = identityService.createGroupQuery().groupId("muppets"); verifyQueryResults(query, 1); }
private GroupQuery(GroupQuery other) : base(other) { }
private Search OrgViewSearch(Search search) { ObjectTypes types; if (search == null || search.Query == null || search.Query.QueryScope == null) { types = IncludeFolders ? ObjectTypes.AllIncFolders : ObjectTypes.AllExcFolders; } else { types = IncludeFolders ? search.Query.QueryScope.ObjectTypes : (search.Query.QueryScope.ObjectTypes & ~ObjectTypes.Folder); } QueryScope scope = new QueryScope(types); QueryFilter filter; if (search == null || search.Query == null || search.Query.QueryFilter == null) filter = Query; else if (Query == null) filter = search.Query.QueryFilter; else filter = new GroupQuery(new[] { search.Query.QueryFilter, Query }, GroupQuery.GroupQueryType.And); return new Search(new Query(scope, filter), Grouping, false, "", null, null, new Sort[] { }); }
public object Get(GroupQuery request) { var result = repo; return(result); }
public Group GetGroup(Guid groupId) { var query = new GroupQuery(dbContext.Groups); return(new GroupMapper().Map(query.Execute(groupId))); }
public Group GetGroup(Guid id) { GroupQuery query = new GroupQuery(dbContext.Groups); return(query.Execute(id)); }
public async ValueTask <BungieResponse <GroupSearchResponse> > GroupSearch( GroupQuery query, CancellationToken token = default) { return(await _apiAccess.GroupSearch(query, token)); }
private static Search OrgViewSearch(Search search, bool includeFolders, // normally exclude folders even if in search: CA-27260 QueryFilter addFilter, Grouping grouping) { QueryFilter filter; ObjectTypes types; if (search == null || search.Query == null || search.Query.QueryScope == null) { types = includeFolders ? ObjectTypes.AllIncFolders : ObjectTypes.AllExcFolders; } else { types = includeFolders ? search.Query.QueryScope.ObjectTypes : (search.Query.QueryScope.ObjectTypes & ~ObjectTypes.Folder); } QueryScope scope = new QueryScope(types); if (search == null || search.Query == null || search.Query.QueryFilter == null) filter = addFilter; else if (addFilter == null) filter = search.Query.QueryFilter; else filter = new GroupQuery(new QueryFilter[] { search.Query.QueryFilter, addFilter }, GroupQuery.GroupQueryType.And); return new Search(new Query(scope, filter), grouping, false, "", null, null, new Sort[] { }); }
private Hashtable map;//通过TreeNode寻找相应的GroupNode protected void Page_Load(object sender, EventArgs e) { user = (User)Session["user"]; const string TARGET = "mainframe"; /* * TreeView tv0 = new TreeView(); * TreeNode tn0 = new TreeNode("体育"); * tn0.NavigateUrl = "Showarticles.aspx"; * tn0.Target = TARGET; * * TreeNode tn01 = new TreeNode("足球"); * TreeNode tn02 = new TreeNode(@"<span class='iLabel'>篮球</span>"); * tn01.Target = TARGET; * tn02.Target = TARGET; * * tn0.ChildNodes.Add(tn01); * tn0.ChildNodes.Add(tn02); * tv0.Nodes.Add(tn0); * * TableRow tr = new TableRow(); * TableCell tc = new TableCell(); * tc.Controls.Add(tv0); * tr.Controls.Add(tc); * HolderTable.Rows.Add(tr); * * TreeView tv1 = new TreeView(); * TreeNode tn1 = new TreeNode("军事"); * tn1.Target = TARGET; * TreeNode tn11 = new TreeNode("亚洲"); * TreeNode tn12 = new TreeNode("中东"); * tn11.Target = TARGET; * tn12.Target = TARGET; * tn1.ChildNodes.Add(tn11); * tn1.ChildNodes.Add(tn12); * tv1.Nodes.Add(tn1); * * TableRow tr1 = new TableRow(); * TableCell tc1 = new TableCell(); * tc1.Controls.Add(tv1); * tr1.Controls.Add(tc1); * HolderTable.Rows.Add(tr1); * */ //针对为注册用户 if (user == null) { //首先建立左边的TreeView //取得所有主分类 List <GroupNode> primaryGroups = GroupQuery.getAllPrimaryGroups(); List <GroupNode> secondaryGroups = GroupQuery.getAllSecondaryGroups(); List <GroupNode> list = GroupQuery.sortGroupNodeList(new List <GroupNode>[] { primaryGroups, secondaryGroups }); TreeNode tmpPrimaryNode = null; foreach (GroupNode gn in list) { if (gn.IsPrimaryGroup) { TreeView tv = new TreeView(); TreeNode tn = new TreeNode(gn.NodeName);//根节点 tn.Target = TARGET; tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=1&other=0&pgid=-1"; tmpPrimaryNode = tn; tv.Nodes.Add(tn); TableCell tc = new TableCell(); tc.Controls.Add(tv); TableRow tr = new TableRow(); tr.Controls.Add(tc); HolderTable.Rows.Add(tr); } else { TreeNode tn = new TreeNode(gn.NodeName);//子节点 tn.Target = TARGET; if (gn.NodeName == "其他") { tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=0&other=1&pgid=" + gn.PrimaryGroupId; } else { tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=0&other=0&pgid=" + gn.PrimaryGroupId; } tmpPrimaryNode.ChildNodes.Add(tn); } } } else//针对已登录用户 { List <GroupNode> primaryGroups = GroupQuery.getFocusedPublicGroupsByUserId(user.UserId); List <GroupNode> secondaryGroups = GroupQuery.getAllInterestLabelsByUserId(user.UserId); List <GroupNode> list = GroupQuery.sortGroupNodeList(new List <GroupNode>[] { primaryGroups, secondaryGroups }); if (list == null || list.Count == 0) { Label tmpLabel = new Label(); tmpLabel.Text = "您还没有任何关注哦!"; TableCell tc = new TableCell(); TableRow tr = new TableRow(); tc.Controls.Add(tmpLabel); tr.Controls.Add(tc); HolderTable.Rows.Add(tr); return; } TreeNode tmpPrimaryNode = null; foreach (GroupNode gn in list) { if (gn.IsPrimaryGroup) { TreeView tv = new TreeView(); TreeNode tn = new TreeNode(gn.NodeName);//根节点 tn.Target = TARGET; tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=1&other=0&pgid=-1"; tmpPrimaryNode = tn; tv.Nodes.Add(tn); TableCell tc = new TableCell(); tc.Controls.Add(tv); TableRow tr = new TableRow(); tr.Controls.Add(tc); HolderTable.Rows.Add(tr); } else { //这里还需要判断是否是兴趣标签 TreeNode tn; if (gn.IsInterestLabel) { tn = new TreeNode(@"<span class='iLabel'>" + gn.NodeName + @"</span>");//子节点 } else { tn = new TreeNode(gn.NodeName); } tn.Target = TARGET; if (gn.NodeName == "其他") { tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=0&other=1&pgid=" + gn.PrimaryGroupId; } else { tn.NavigateUrl = "Showarticles.aspx?gn=" + gn.Id + "&primary=0&other=0&pgid=" + gn.PrimaryGroupId; } tmpPrimaryNode.ChildNodes.Add(tn); } } //增加其他选项 TreeView othertv = new TreeView(); TreeNode othertn = new TreeNode("其他"); othertn.NavigateUrl = "Showarticles.aspx?gn=-1&primary=1&other=1&pgid=-1"; othertn.Target = TARGET; othertv.Nodes.Add(othertn); TableRow othertr = new TableRow(); TableCell othertc = new TableCell(); othertr.Controls.Add(othertc); othertc.Controls.Add(othertv); HolderTable.Rows.Add(othertr); } /*primaryGroups = new List<GroupNode>(); * List<GroupNode> temp = GroupQuery.getFocusedPublicGroupsByUserId(user.UserId); * foreach (GroupNode node in temp) * { * if (node.IsPrimaryGroup) * primaryGroups.Add(node); * }*/ }
private Query ProcessNode(AstNode root, Flags flags, out Props props) { if (++_parseDepth > MaxParseDepth) { throw XPathException.Create(SR.Xp_QueryTooComplex); } Debug.Assert(root != null, "root != null"); Query result = null; props = Props.None; switch (root.Type) { case AstNode.AstType.Axis: result = ProcessAxis((Axis)root, flags, out props); break; case AstNode.AstType.Operator: result = ProcessOperator((Operator)root, out props); break; case AstNode.AstType.Filter: result = ProcessFilter((Filter)root, flags, out props); break; case AstNode.AstType.ConstantOperand: result = new OperandQuery(((Operand)root).OperandValue); break; case AstNode.AstType.Variable: result = ProcessVariable((Variable)root); break; case AstNode.AstType.Function: result = ProcessFunction((Function)root, out props); break; case AstNode.AstType.Group: result = new GroupQuery(ProcessNode(((Group)root).GroupNode, Flags.None, out props)); break; case AstNode.AstType.Root: result = new AbsoluteQuery(); break; default: Debug.Fail("Unknown QueryType encountered!!"); break; } --_parseDepth; return result; }
public IEnumerable <AccountGroup> GroupQuery(GroupQuery query) { IQueryable <Account> accountsQuery = AccountContext.Accounts; accountsQuery = AddQueryItems(accountsQuery, query); IQueryable <AccountGroup> groups; switch (query.Keys) { case "sex": groups = accountsQuery.GroupBy(s => s.Sex).Select(s => new AccountGroup { Count = s.Count(), Sex = s.Key.ToString().ToLower() }); break; case "status": groups = accountsQuery.Where(s => s.Status != null).GroupBy(s => s.Status).Select(s => new AccountGroup { Count = s.Count(), Status = s.Key.ToString().ToLower() }); break; case "country": groups = accountsQuery.Where(s => s.Country != null).GroupBy(s => s.Country).Select(s => new AccountGroup { Count = s.Count(), Country = s.Key.ToString().ToLower() }); break; case "city": groups = accountsQuery.Where(s => s.City != null).GroupBy(s => s.City).Select(s => new AccountGroup { Count = s.Count(), City = s.Key.ToString().ToLower() }); break; case "interests": groups = accountsQuery.Where(s => s.Interests != null).SelectMany(s => s.Interests).GroupBy(s => s).Select(s => new AccountGroup { Count = s.Count(), Interests = s.Key.ToString().ToLower() }); break; default: throw new Exception($"Unsupported keys: {query.Keys}"); } if (query.Order == 1) { groups = groups.OrderBy(s => s.Count); } else { groups = groups.OrderByDescending(s => s.Count); } return(groups.Take(query.Limit)); }
public Group GetGroup(Guid groupId) { var query = new GroupQuery(dbContext.Groups); return new GroupMapper().Map(query.Execute(groupId)); }
private Query ProcessNode(AstNode root, Flags flags, out Props props) { Debug.Assert(root != null, "root != null"); Query result = null; props = Props.None; switch (root.Type) { case AstNode.AstType.Axis: result = ProcessAxis((Axis)root, flags, out props); break; case AstNode.AstType.Operator: result = ProcessOperator((Operator)root, out props); break; case AstNode.AstType.Filter: result = ProcessFilter((Filter)root, flags, out props); break; case AstNode.AstType.ConstantOperand: result = new OperandQuery(((Operand)root).OperandValue); break; case AstNode.AstType.Variable: result = ProcessVariable((Variable)root); break; case AstNode.AstType.Function: result = ProcessFunction((Function)root, out props); break; case AstNode.AstType.Group: result = new GroupQuery(ProcessNode(((Group)root).GroupNode, Flags.None, out props)); break; case AstNode.AstType.Root: result = new AbsoluteQuery(); break; default: Debug.Assert(false, "Unknown QueryType encountered!!"); break; } return result; }
public static void WriteGroupResponse(HList <KeyValuePair <GroupKey, int> > result, GroupQuery query, ref ParseContext stream) { if (result.Count == 0) { stream.Write(EmptyGroups); return; } stream.Write(GroupsPrefix); var shouldWriteSeparator = false; foreach (KeyValuePair <GroupKey, int> kvp in result) { if (shouldWriteSeparator) { stream.WriteByte(Separator); } stream.WriteByte(StartObject); SerializeGroupKey(ref stream, query._first, kvp.Key); SerializeGroupKey(ref stream, query._second, kvp.Key); stream.Write(countProp); WriteInt(ref stream, kvp.Value); stream.WriteByte(EndObject); shouldWriteSeparator = true; } stream.Write(Suffix); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Before public void setUpRuntimeData() public virtual void setUpRuntimeData() { mockQuery = setUpMockGroupQuery(MockProvider.createMockGroups()); }
public Group GetGroup(Guid id) { GroupQuery query = new GroupQuery(dbContext.Groups); return query.Execute(id); }
/// <summary> /// 组合查询方法 /// </summary> /// <param name="comf1">字段1</param> /// <param name="comf2">字段2</param> /// <param name="comf3">字段3</param> /// <param name="comoper1">操作符1</param> /// <param name="comoper2">操作符2</param> /// <param name="comoper3">操作符3</param> /// <param name="contetn1">内容1</param> /// <param name="content2">内容2</param> /// <param name="contetn3">内容3</param> /// <param name="rel1">组合关系1</param> /// <param name="rel2">组合关系2</param> /// <param name="form">组合查询窗体</param> /// <returns></returns> public DataTable SelectGroupQuer(string comf1, string comf2, string comf3, string comoper1, string comoper2, string comoper3, string contetn1, string content2, string contetn3, string rel1, string rel2, string DbName, Form form) { DataTable SelectGroupQuerTable = new DataTable(); //调用接口与工厂 GroupQuerIDAL groupQuerIDAL = (GroupQuerIDAL)fact.CreateUser("GroupQuerDAL"); #region 第一组条件赋值 GroupQuery groupQuery = new GroupQuery(); groupQuery.Field1 = comf1; groupQuery.Operator1 = comoper1; groupQuery.Content1 = contetn1; groupQuery.DbName = DbName; #endregion #region 第二组条件赋值 groupQuery.Relation1 = rel1; groupQuery.Field2 = comf2; groupQuery.Operator2 = comoper2; groupQuery.Content2 = content2; #endregion #region 第三组条件赋值 groupQuery.Field3 = comf3; groupQuery.Operator3 = comoper3; groupQuery.Content3 = contetn3; groupQuery.Relation2 = rel2; #endregion #region 组合查询逻辑 //判断第一个组合关系是否被选中 if (rel1.Trim() != "")//被选中 { #region 判断第二个组合关系是否被玄宗 if (rel2.Trim() != "")//被选中 { #region 判断所有控件内容是否为空 if (comf1.Trim() != "" && comoper1.Trim() != "" && contetn1.Trim() != "") { if (comf2.Trim() != "" && comoper2.Trim() != "" && content2.Trim() != "") { if (comf3.Trim() != "" && comoper3.Trim() != "" && contetn3.Trim() != "") { //查询具体内容 SelectGroupQuerTable = groupQuerIDAL.SelectGroupQuer(groupQuery); } //第三组 } //第二组 } //第一组 #endregion } else { #region 判断前两组控件的内容是否为空 if (comf1.Trim() != "" && comoper1.Trim() != "" && contetn1.Trim() != "") { if (comf2.Trim() != "" && comoper2.Trim() != "" && content2.Trim() != "") { //查询具体内容 SelectGroupQuerTable = groupQuerIDAL.SelectGroupQuer(groupQuery); } //第二组 } //第一组 #endregion } #endregion } else//没被选中 { #region 判断第一组控件内容是否为空 if (comf1.Trim() != "" && comoper1.Trim() != "" && contetn1.Trim() != "") { //查询具体内容 SelectGroupQuerTable = groupQuerIDAL.SelectGroupQuer(groupQuery); } #endregion } #endregion return(SelectGroupQuerTable); }
private GroupQuery(GroupQuery other) : base((BaseAxisQuery) other) { }
protected void Page_Load(object sender, EventArgs e) { /* * tv0 = new TreeView(); * TreeNode tn0 = new TreeNode("体育"); * tn0.ShowCheckBox = true; * TreeNode tn01 = new TreeNode("足球"); * TreeNode tn02 = new TreeNode(@"<span class='iLabel'>篮球</span>"); * * tn0.ChildNodes.Add(tn01); * tn0.ChildNodes.Add(tn02); * tv0.Nodes.Add(tn0); * * TableRow tr = new TableRow(); * TableCell tc = new TableCell(); * tc.Controls.Add(tv0); * tr.Controls.Add(tc); * HolderTable.Controls.Add(tr); * * TreeView tv1 = new TreeView(); * TreeNode tn1 = new TreeNode("军事"); * * TreeNode tn11 = new TreeNode("亚洲"); * TreeNode tn12 = new TreeNode("中东"); * tn1.ChildNodes.Add(tn11); * tn1.ChildNodes.Add(tn12); * tv1.Nodes.Add(tn1); * * TableCell tc1 = new TableCell(); * tc1.Controls.Add(tv1); * tr.Controls.Add(tc1); */ user = (User)Session["user"]; if (user == null) { Label1.Text = "对不起,您没有访问该资源的权限"; Label1.Font.Size = 18; Label1.ForeColor = Color.Red; Label2.Visible = false; DropDownList1.Visible = false; Label3.Visible = false; Label4.Visible = false; TextBox1.Visible = false; TextBox2.Visible = false; Button1.Visible = false; Button2.Visible = false; return; } map = new Hashtable(); p2o = new Hashtable(); tvs = new List <TreeView>(); alltns = new List <TreeNode>(); Label1.Visible = false; List <GroupNode> lists = GroupQuery.sortGroupNodeList(new List <GroupNode>[] { GroupQuery.getAllPrimaryGroups(), GroupQuery.getAllSecondaryGroups(), GroupQuery.getAllInterestLabelsByUserId(user.UserId) }); List <GroupNode> list2 = GroupQuery.sortGroupNodeList(new List <GroupNode>[] { GroupQuery.getFocusedPublicGroupsByUserId(user.UserId), GroupQuery.getAllInterestLabelsByUserId(user.UserId) }); List <GroupNode> list3 = GroupQuery.getAllPrimaryGroups(); //DropDownList1.Items.Clear(); /* * foreach (TreeView tv in tvs) * { * tv.Nodes.Clear(); * } * */ if (!IsPostBack) { foreach (GroupNode gn in list3) { if (gn.NodeName != "其他") { DropDownList1.Items.Add(new ListItem(gn.NodeName, gn.Id.ToString())); } } } TreeNode tmpPrimary = null; foreach (GroupNode gn in lists) { TableRow row = new TableRow(); if (gn.NodeName == "其他" && gn.IsPrimaryGroup) { continue; } TreeNode tn = new TreeNode(gn.NodeName); map.Add(tn, gn); tn.ShowCheckBox = true; if (checkDup(list2, gn)) { tn.Checked = true; } tn.NavigateUrl = "#"; if (gn.NodeName == "其他") { p2o.Add(tmpPrimary, gn); continue; } alltns.Add(tn); if (gn.IsPrimaryGroup) { tmpPrimary = tn; TreeView tv = new TreeView(); tv.Nodes.Add(tn); tvs.Add(tv); TableCell tc = new TableCell(); tc.Controls.Add(tv); row.Controls.Add(tc); HolderTable.Rows.Add(row); tmpPrimary.ChildNodes.Clear(); } else { //if (!IsPostBack) //{ tmpPrimary.ChildNodes.Add(tn); if (gn.IsInterestLabel) { tn.Text = @"<span class='iLabel'>" + gn.NodeName + @"</span>"; } //} } } }