public static object[] SelectTagsBySelectedGroupId(int groupId, int userTypeEnumValue, string keyword, int pageSize, int skipOffset)
        {
            if (groupId == -1)
            {
                return(SelectTags(userTypeEnumValue, keyword, pageSize, skipOffset));
            }

            if (groupId == 0)
            {
                return(SelectTagsForGroup(userTypeEnumValue, keyword, pageSize, skipOffset));
            }
            //var query=HostTagGroupStatus.All()
            //    .Where(u => u.TagId != 0 && u.HostGroupId == userTypeEnumValue)
            //    .Select(u => new {
            //        Id = u.TagId,
            //        TagName = u.HostName
            //    });

            //yzhu
            HostGroupInfo groupInfo = HostGroupInfo.GetById(groupId);

            if (groupInfo == null)
            {
                return(SelectTagsForGroup(userTypeEnumValue, keyword, pageSize, skipOffset));
            }

            if (groupInfo.ParentGroupId == 0)
            {
                return(SelectTagsForGroup(userTypeEnumValue, keyword, pageSize, skipOffset));
            }

            //yyang,090927,轨迹用户分类暂时取消
            //var query = (HostTagGroupStatus.All
            //    .Where(u => u.HostGroupId == groupInfo.ParentGroupId)
            //    .Select(u => new
            //    {
            //        Id = u.HostId,
            //        TagName = u.HostName
            //    })).Distinct(); //modified by Tan
            //lyz,tagid大于0,即用户必须已经绑定标签
            var query = (HostTagGroupStatus.All
                         .Where(u => u.TagId > 0 && u.HostGroupId == groupInfo.ParentGroupId)
                         .Select(u => new
            {
                Id = u.HostId,
                TagName = u.HostName
            })).Distinct();    //modified by Tan

            if (!string.IsNullOrEmpty(keyword))
            {
                query = query.Where(t => t.TagName.Contains(keyword.Trim()));
            }

            return(query.OrderBy(t => t.TagName).Skip(skipOffset).Take(pageSize).ToArray());
        }
示例#2
0
        protected void groupList_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            //TagGroupCounterView group = e.Item.DataItem as TagGroupCounterView;
            HostCountByGroup group = e.Item.DataItem as HostCountByGroup;

            if (group != null)
            {
                Anchor groupName = e.Item.FindControl("groupName") as Anchor;
                groupName.Text = group.GroupName;
                groupName.Href = PathUtil.ResolveUrl("Organize/TagGroup.aspx?id=" + group.Id);
                groupName.Attributes.Add("id", "g_" + group.Id);

                NumericLabel tagCount = e.Item.FindControl("tagCount") as NumericLabel;
                tagCount.Value = group.TagCount;

                SmartLabel groupDescription = e.Item.FindControl("groupDescription") as SmartLabel;
                groupDescription.Text = Strings.MonospacedLeft(group.GroupDescription, 50);

                Anchor detail = e.Item.FindControl("detail") as Anchor;
                detail.Href = groupName.Href;

                //不能删除根级组
                int    idelgroupid = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings["DelFootGroup"]);
                int    parentid    = HostGroupInfo.GetById(group.Id).ParentGroupId;
                Anchor deleteLink  = e.Item.FindControl("delete") as Anchor;
                if (parentid > 0 || idelgroupid > 0)
                {
                    deleteLink.Href = "javascript:deleteTagGroup(" + group.Id + ");";
                }
                else
                {
                    groupName.Href     = "";
                    deleteLink.Href    = "";
                    deleteLink.ToolTip = "一级组不能删除";
                    detail.ToolTip     = "一级组不能编辑";
                    groupName.ToolTip  = "一级组不能编辑";
                    detail.Href        = "";
                    //deleteLink.Text = "";
                }
            }
        }
        public static object[] SelectTagsBySelectedGroupName(string groupName, int groupId, int userTypeEnumValue, string keyword, int pageSize, int skipOffset)
        {
            if (groupName == null || groupName == "" || groupName == "未指定组")
            {
            }
            else
            {
                //int pos = groupName.IndexOf("已选组: ");

                if (groupName.Length >= 5) //"已选组: " ==> 5 char
                {
                    groupName = groupName.Substring(5);
                    groupName = groupName.Replace(", ", ",");
                    string[] aGroupIds = groupName.Split(',');
                    if (aGroupIds != null && aGroupIds.Length > 0)
                    {
                        if (aGroupIds.Length == 1)
                        {
                            groupId = Convert.ToInt32(aGroupIds[0]);
                        }
                        else
                        {
                            //var query2 = from q in HostTagGroupStatus.All
                            //             where (aGroupIds.Contains(q.HostGroupId.ToString()))
                            //             select new
                            //             {
                            //                 Id = q.HostId,
                            //                 TagName = q.HostName
                            //             };


                            //var query2 = (HostTagGroupStatus.All
                            //.Where(u => aGroupIds.Contains(u.HostGroupId.ToString()))
                            //.Select(u => new
                            //    {
                            //        Id = u.HostId,
                            //        TagName = u.HostName
                            //    })).Distinct(); //modified by Tan


                            //lyz,tagid大于0,即用户必须已经绑定标签
                            var query2 = (HostTagGroupStatus.All
                                          .Where(u => u.TagId > 0 && aGroupIds.Contains(u.HostGroupId.ToString()))
                                          .Select(u => new
                            {
                                Id = u.HostId,
                                TagName = u.HostName
                            })).Distinct();


                            if (!string.IsNullOrEmpty(keyword))
                            {
                                query2 = query2.Where(t => t.TagName.Contains(keyword.Trim()));
                            }

                            return(query2.OrderBy(t => t.TagName).Skip(skipOffset).Take(pageSize).ToArray());
                        }
                    }
                }
            }

            if (groupId == -1)
            {
                return(SelectTags(userTypeEnumValue, keyword, pageSize, skipOffset));
            }

            if (groupId == 0)
            {
                return(SelectTagsForGroup(userTypeEnumValue, keyword, pageSize, skipOffset));
            }
            //var query=HostTagGroupStatus.All()
            //    .Where(u => u.TagId != 0 && u.HostGroupId == userTypeEnumValue)
            //    .Select(u => new {
            //        Id = u.TagId,
            //        TagName = u.HostName
            //    });

            //yzhu
            HostGroupInfo groupInfo = HostGroupInfo.GetById(groupId);

            if (groupInfo == null)
            {
                return(SelectTagsForGroup(userTypeEnumValue, keyword, pageSize, skipOffset));
            }

            //if (groupInfo.ParentGroupId == 0)
            return(SelectTagsForGroup(groupId, keyword, pageSize, skipOffset));

            //yyang,090927,轨迹用户分类暂时取消
            //var query = (HostTagGroupStatus.All
            //    .Where(u => u.HostGroupId == groupInfo.ParentGroupId)
            //    .Select(u => new
            //    {
            //        Id = u.HostId,
            //        TagName = u.HostName
            //    })).Distinct(); //modified by Tan

            //if (!string.IsNullOrEmpty(keyword))
            //{
            //    query = query.Where(t => t.TagName.Contains(keyword.Trim()));
            //}

            //return query.OrderBy(t => t.TagName).Skip(skipOffset).Take(pageSize).ToArray();
        }
        private void LoadDefaullView()
        {
            try
            {
                grouplist.Items.Clear();
                //var hostGroupName = HostGroupInfo.All.OrderBy(x => x.ParentGroupId);

                //bool bParentGroupID = false;
                //foreach (var name in hostGroupName)
                //{
                //    grouplist.Items.Add(new ListItem(name.HostGroupName, name.HostGroupId.ToString()));
                //    if (name.ParentGroupId == 0)
                //    {
                //        bParentGroupID = true;
                //    }
                //}
                //if (!bParentGroupID)
                //{
                //    grouplist.Items.Insert(0, new ListItem("无", "0"));
                //}

                if (_editMode == EditMode.AddNew)
                {
                    // tagSelector.SelectedGroupId = 0; //////////////
                    save.Text = "新增";
                    try
                    {
                        //GTang2010/01/27 根据项目绑定显示内容
                        IList <HostGroupInfo> hostGroupName;
                        if (Config.Settings.ProjectType == ProjectTypeEnum.NMPrison)
                        {
                            hostGroupName = HostGroupInfo.GetGroupNameByProjectType((int)ProjectTypeEnum.NMPrison);//HostGroupInfo.GetByParentId(0);
                        }
                        else if (Config.Settings.ProjectType == ProjectTypeEnum.YZPrison)
                        {
                            hostGroupName = HostGroupInfo.GetGroupNameByProjectType((int)ProjectTypeEnum.YZPrison);
                        }
                        else
                        {
                            hostGroupName = HostGroupInfo.GetByParentId(0);
                        }
                        //  var hostGroupName = HostGroupInfo.GetByParentId(0);
                        if (hostGroupName == null || hostGroupName.Count == 0)
                        {
                            grouplist.Items.Insert(0, new ListItem("无", "0"));
                        }
                        else
                        {
                            foreach (var name in hostGroupName)
                            {
                                grouplist.Items.Add(new ListItem(name.HostGroupName, name.HostGroupId.ToString()));
                            }
                        }
                        //grouplist.Items.Insert(0, new ListItem("无", "0"));
                    }
                    catch
                    {
                    }
                }
                else
                {
                    //tagSelector.SelectedGroupId = _id;/////////////////
                    HostGroupInfo groupInfo = HostGroupInfo.GetById(_id);

                    if (groupInfo == null)
                    {
                        return;
                    }
                    if (groupInfo.ParentGroupId == 0)
                    {
                        grouplist.Items.Insert(0, new ListItem("无", "0"));
                        tagSelector.Visible = false;
                    }
                    else
                    {
                        tagSelector.Visible = true;
                        HostGroupInfo parentGroupInfo = HostGroupInfo.GetById(groupInfo.ParentGroupId);
                        if (parentGroupInfo == null)
                        {
                            return;
                        }
                        grouplist.Items.Add(new ListItem(parentGroupInfo.HostGroupName, parentGroupInfo.HostGroupId.ToString()));
                    }

                    save.Text = "保存";

                    /*TagGroup group = TagGroup.Select(_id);
                     * groupName.Text = group.GroupName;
                     * groupDescription.Text = group.GroupDescription;
                     * tagSelector.SelectedTagIdArray = TagGroupCoverage.GetCoveredTagIdArray(_id);
                     * */

                    HostGroupInfo group = HostGroupInfo.GetById(_id);
                    groupName.Text        = group.HostGroupName.Trim();
                    groupDescription.Text = group.Description;
                    //tagSelector.SelectedTagIdArray = HostTagGroupStatus.GetCoveredHostIdArray(_id); //HostTagGroupStatus.GetCoveredTagIdArray(_id);/////////////////
                    grouplist.SelectedValue = Convert.ToString(group.ParentGroupId);

                    if (group.ParentGroupId == 0)
                    {
                        if (grouplist.Items.Count > 1)
                        {
                            for (int i = grouplist.Items.Count - 1; i > 0; i--)
                            {
                                grouplist.Items.RemoveAt(i);
                            }
                        }
                    }
                    else
                    {
                        for (int i = 0; i < grouplist.Items.Count; i++)
                        {
                            if (grouplist.Items[i].Value == Convert.ToString(group.HostGroupId))
                            {
                                grouplist.Items.RemoveAt(i);
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                feedbacks.Items.AddError("Error:" + ex.Message);
            }
        }