Ejemplo n.º 1
0
        public async Task <RightCollection> List(RightQuery query)
        {
            var dbQuery = await query.Create(this.Entities);

            var total = await dbQuery.CountAsync();

            dbQuery = dbQuery.Skip(query.SkipTo(total)).Take(query.Limit);
            var results = await mapper.ProjectRight(dbQuery).ToListAsync();

            return(new RightCollection(query, total, results));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Gets the right query.
        /// </summary>
        /// <returns>System.String.</returns>
        public string GetRightQuery()
        {
            if (File.Exists(RightQuery))
            {
                return(File.ReadAllText(RightQuery));
            }

            if (RightQuery.EndsWith(".sql"))
            {
                return(File.ReadAllText(RightQuery));
            }
            return(RightQuery);
        }
            async Task List()
            {
                //This could be more complete
                var repo = mockup.Get <IRightRepository>();
                await repo.AddRange(new RightInput[] { RightTests.CreateInput(), RightTests.CreateInput(), RightTests.CreateInput() });

                var query  = new RightQuery();
                var result = await repo.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
Ejemplo n.º 4
0
            async Task List()
            {
                var totalItems = 3;

                var controller = mockup.Get <RightsController>();

                for (var i = 0; i < totalItems; ++i)
                {
                    Assert.NotNull(await controller.Add(RightTests.CreateInput()));
                }

                var query  = new RightQuery();
                var result = await controller.List(query);

                Assert.Equal(query.Limit, result.Limit);
                Assert.Equal(query.Offset, result.Offset);
                Assert.Equal(3, result.Total);
                Assert.NotEmpty(result.Items);
            }
Ejemplo n.º 5
0
 public async Task <RightCollection> List([FromQuery] RightQuery query)
 {
     return(await repo.List(query));
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 加载最顶级菜单
        /// </summary>
        /// <param name="dtMenu"></param>
        private void LoadLeftMenu()
        {
            try
            {
                CommonEnum.MenuType MenuType = CommonEnum.MenuType.Inner;
                switch (SessionState.OUType)
                {
                case (int)CommonEnum.OUType.Inner:
                case (int)CommonEnum.OUType.Outer:
                    MenuType = CommonEnum.MenuType.Inner;
                    break;
                }
                HtmlTable tb = new HtmlTable();
                tb.CellPadding = 0;
                tb.CellSpacing = 0;
                HtmlTableRow  tr1          = null;
                HtmlTableRow  tr2          = null;
                HtmlTableCell tcMenuTitle1 = null;
                HtmlTableCell tcMenuTitle2 = null;
                HtmlTableCell tcMenuList   = null;

                DataTable Dt       = null;
                DataTable DtLayer1 = null;

                string Url      = "";
                string MenuName = "";
                int    Count    = 0; //判断加载菜单的个数

                long menuID = 0;
                long UserID = SessionState.UserID;

                //一级菜单
                Dt = new MenuQuery().GetMenuAll(0, MenuType);
                for (int i = 0; i < Dt.Rows.Count; i++)
                {
                    menuID = NDConvert.ToInt64(Dt.Rows[i]["MenuID"].ToString());
                    if ((RightQuery.GetUserRightQuery(UserID, menuID) || SessionState.IsAdmin) ||
                        MenuType == CommonEnum.MenuType.Outer)
                    {
                        tr1 = new HtmlTableRow();
                        tr2 = new HtmlTableRow();

                        tcMenuTitle1        = new HtmlTableCell();
                        tcMenuTitle1.Height = "24px";
                        tcMenuTitle1.Width  = "167px";
                        tcMenuTitle1.Style["background"] = "url(../../images/bg_menu2_bg.jpg)";
                        tcMenuTitle1.Style["cursor"]     = "hard";
                        tcMenuTitle1.InnerHtml           = "&nbsp;&nbsp;&nbsp;" + Dt.Rows[i]["MenuName"].ToString();
                        tcMenuTitle1.Attributes["class"] = "Font4";

                        tcMenuTitle2        = new HtmlTableCell();
                        tcMenuTitle2.ID     = "tdTitle" + i;
                        tcMenuTitle2.Height = "24px";
                        tcMenuTitle2.Width  = "13px";
                        tcMenuTitle2.Attributes["background"] = "../../images/bg_menu2_down.gif";

                        //二级菜单
                        DtLayer1                    = new MenuQuery().GetMenuAll(menuID, MenuType);
                        tcMenuList                  = new HtmlTableCell();
                        tcMenuList.ColSpan          = 2;
                        tcMenuList.ID               = "MenuList" + Count;
                        tcMenuList.Style["display"] = "none";

                        tr1.Attributes["onclick"] = "ControlLeftMenuItem('" + tcMenuTitle2.ID + "','" + tcMenuList.ID + "')";
                        tr1.Style["cursor"]       = "hand";

                        Count++;

                        if (DtLayer1.Rows.Count > 0)
                        {
                            HtmlTable tb1 = new HtmlTable();
                            tb1.CellPadding          = 0;
                            tb1.CellSpacing          = 0;
                            tb1.Style["margin-left"] = "12px";
                            HtmlTableRow  tr11    = null;
                            HtmlTableRow  tr12    = null;
                            HtmlTableCell td11    = null;
                            HtmlTableCell td11img = null;

                            for (int j = 0; j < DtLayer1.Rows.Count; j++)
                            {
                                menuID = NDConvert.ToInt64(DtLayer1.Rows[j]["MenuID"].ToString());
                                if ((RightQuery.GetUserRightQuery(UserID, menuID) || SessionState.IsAdmin) ||
                                    MenuType == CommonEnum.MenuType.Outer)
                                {
                                    Url      = DtLayer1.Rows[j]["NavigateURL"].ToString();
                                    MenuName = DtLayer1.Rows[j]["MenuName"].ToString().Trim();

                                    tr11 = new HtmlTableRow();
                                    tr12 = new HtmlTableRow();

                                    td11img           = new HtmlTableCell();
                                    td11img.Width     = "25px";
                                    td11img.Align     = "right";
                                    td11img.VAlign    = "top";
                                    td11img.InnerHtml = "<img src = '" + DtLayer1.Rows[j]["ImageURL"].ToString().Trim() + "'  />";

                                    td11        = new HtmlTableCell();
                                    td11.ID     = "menuItem" + i.ToString() + j.ToString();
                                    td11.Width  = "140px";
                                    td11.Height = "20px";
                                    td11.Attributes["onclick"]     = "mainFrameUrl('" + Url + "');SelectedItemColor(this);";
                                    td11.Attributes["onmousemove"] = "linkMouseOver(this)";
                                    td11.Attributes["onmouseout"]  = "linkMouseOut(this)";
                                    td11.Style["font-size"]        = "12px";
                                    td11.Style["cursor"]           = "hand";

                                    td11.InnerHtml = "<div class='hideText' style='height:22px; width:140px; margin-left:5px;'>" + MenuName + "</div>";

                                    tcMenuTitle2.Attributes["background"] = "../../images/bg_menu2_up.gif";
                                    if (Count == 1)
                                    {
                                        tcMenuList.Style["display"] = "block";
                                    }
                                    else
                                    {
                                        tcMenuList.Style["display"] = "none";
                                    }

                                    //组合二级菜单
                                    tr11.Cells.Add(td11img);
                                    tr11.Cells.Add(td11);
                                    tb1.Rows.Add(tr11);
                                    tb1.Rows.Add(tr12);
                                    tb1.Rows.Add(Line());

                                    tcMenuList.Controls.Add(tb1);
                                }
                            }
                            if (tb1.Rows.Count > 0)
                            {
                                tb1.Rows.Insert(0, Line());
                            }
                        }
                        //组合一级菜单
                        tr1.Cells.Add(tcMenuTitle1);
                        tr1.Cells.Add(tcMenuTitle2);
                        tr2.Cells.Add(tcMenuList);
                        tb.Rows.Add(tr1);
                        tb.Rows.Add(tr2);
                    }
                }
                this.Controls.Add(tb);
            }
            catch (Exception ex)
            {
                PageHelper.ShowExceptionMessage(ex.Message);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 人员下拉框
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void drpPersonList_SelectedIndexChanged(object sender, EventArgs e)
        {
            //将所有选中的节点清空
            Node      node    = null;
            ArrayList arrNode = tvRight.CheckedNodes;

            for (int n = 0; n < arrNode.Count; n++)
            {
                node         = (Node)arrNode[n];
                node.Checked = false;
            }

            //选中用户有权限的菜单节点
            if (drpPersonList.SelectedIndex != 0)
            {
                long      UserID = NDConvert.ToInt64(drpPersonList.SelectedValue);
                DataTable dt     = new RightQuery().GetUserRight(UserID); //获得用户所有有权限的菜单
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    long MenuID = NDConvert.ToInt64(dt.Rows[i]["MenuID"].ToString());
                    for (int j = 0; j < tvRight.Nodes.Count; j++)
                    {
                        if (MenuID == NDConvert.ToInt64(tvRight.Nodes[j].DataKey))
                        {
                            tvRight.Nodes[j].Checked = true;
                        }
                        for (int k = 0; k < tvRight.Nodes[j].Nodes.Count; k++)
                        {
                            if (MenuID == NDConvert.ToInt64(tvRight.Nodes[j].Nodes[k].DataKey))
                            {
                                tvRight.Nodes[j].Nodes[k].Checked = true;
                            }
                            if (MenuQuery.IsHaveChileMenu(NDConvert.ToInt64(tvRight.Nodes[j].Nodes[k].DataKey.ToString())))   //判断是否有子菜单,如有有子菜单说明本层是菜单,如果没有则是菜单功能项
                            {
                                for (int m = 0; m < tvRight.Nodes[j].Nodes[k].Nodes.Count; m++)
                                {
                                    if (MenuID == NDConvert.ToInt64(tvRight.Nodes[j].Nodes[k].Nodes[m].DataKey))
                                    {
                                        tvRight.Nodes[j].Nodes[k].Nodes[m].Checked = true;
                                    }

                                    Nodes nodes = tvRight.Nodes[j].Nodes[k].Nodes[m].Nodes;
                                    for (int n = 0; n < nodes.Count; n++)
                                    {
                                        if (MenuFunctionRightQuery.CheckMenuFunctionRight(UserID, MenuID, NDConvert.ToInt64(nodes[n].DataKey)))
                                        {
                                            nodes[n].Checked = true;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                Nodes nodes = tvRight.Nodes[j].Nodes[k].Nodes;
                                for (int n = 0; n < nodes.Count; n++)
                                {
                                    if (MenuFunctionRightQuery.CheckMenuFunctionRight(UserID, MenuID, NDConvert.ToInt64(nodes[n].DataKey)))
                                    {
                                        nodes[n].Checked = true;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 8
0
 public RightCollection(RightQuery query, int total, IEnumerable <Right> items) : base(query, total, items)
 {
 }