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
        private void LoadGroupList()
        {
            var hostGroupName = HostGroupInfo.GetByParentId((int)_userType);

            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"));
            }
        }
示例#3
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);
            }
        }
        protected void save_click(object sender, EventArgs e)
        {
            if (groupName.Text.Trim().Length == 0)
            {
                feedbacks.Items.AddError("请输入对象组名称。");
            }
            //if (_editMode == EditMode.AddNew && TagGroup.All.Any(g => g.GroupName == groupName.Text.Trim())) {
            //if (HostGroupInfo.All.Any(g => g.HostGroupName.Trim() == groupName.Text.Trim() && g.HostGroupId != tagSelector.SelectedGroupId))
            if (HostGroupInfo.All.Any(g => g.HostGroupName.Trim() == groupName.Text.Trim() && g.HostGroupId != (_id == -1 ? 0 : _id)))
            {
                feedbacks.Items.AddError("对象组名称“" + groupName.Text.Trim() + "”已存在。");
            }
            if (feedbacks.Items.Count > 0)
            {
                return;
            }

            if (_editMode == EditMode.AddNew)
            {
                //_id = TagGroup.Insert(groupName.Text.Trim(), Strings.Left(groupDescription.Text.Trim(), 200), tagSelector.SelectedTagIdArray);
                //yzhu 20091002, add parent Group
                _id = HostGroupInfo.AddHostGroupInfo(0, groupName.Text.Trim(), Strings.Left(groupDescription.Text.Trim(), 200), Convert.ToInt32(this.grouplist.SelectedValue));
                HostTag.RemoveHostGroupByGroupId(_id);
                //如果是根组,把tagid=0的用户都插入该组,下面的插入数据代码后期需要写在数据层HostGroup里

                /*if (Convert.ToInt32(this.grouplist.SelectedValue) == 0)
                 * {
                 *  var query = HostTag.All.Where(t =>t.TagId == 0).Select(x => x.HostId).ToList();
                 *
                 *  using (AppDataContext db = new AppDataContext())
                 *  {
                 *      for (int i = 0; i < query.Count; i++)
                 *      {
                 *          HostGroup hg = new HostGroup();
                 *          hg.HostId = Convert.ToInt32(query[i].ToString());
                 *          hg.HostGroupId = _id;
                 *          db.HostGroups.InsertOnSubmit(hg);
                 *          db.SubmitChanges();
                 *      }
                 *  }
                 * }
                 */

                if (tagSelector.SelectedUserIds != null)
                {
                    AddHostTagGroup(tagSelector.SelectedUserIds, _id);
                }
                Terminator.Redirect("TagGroupList.aspx");
            }
            else
            {
                //TagGroup.UpdateById(_id, groupName.Text.Trim(), Strings.Left(groupDescription.Text.Trim(), 200), tagSelector.SelectedTagIdArray);
                HostGroupInfo.UpdateHostGroupInfo(_id, groupName.Text.Trim(), Strings.Left(groupDescription.Text.Trim(), 200), Convert.ToInt32(this.grouplist.SelectedValue));
                HostTag.RemoveHostGroupByGroupId(_id);
                if (tagSelector.SelectedUserIds != null)
                {
                    AddHostTagGroup(tagSelector.SelectedUserIds, _id);
                }
                //add 2009-10-21
                //////////////////tagSelector.SelectedTagIdArray = HostTagGroupStatus.GetCoveredHostIdArray(_id);

                feedbacks.Items.AddPrompt("保存成功。");
            }
        }