private void InitSelect()
        {
            var modules = ModuleServices
                          .LoadEntities(m => true)
                          .Select(m => new
            {
                id   = m.ID,
                text = m.Name
            })
                          .ToList();

            modules.Insert(0, new { id = -1, text = "请选择" });
            ViewBag.Modules = Serialization.SerializeObject(modules);
        }
示例#2
0
        public string MenuHeader()
        {
            StringBuilder sb       = new StringBuilder();
            int           moduleId = ModuleServices
                                     .LoadEntities(m => m.Url.IndexOf("/" + ControllerName + "/") == 0)
                                     .Select(m => m.ID)
                                     .FirstOrDefault();

            int[] roleIds = UserInfo.RoleUserInfos
                            .Select(r => r.RoleID)
                            .ToArray();

            List <ModuleElement> moduleElements = ModuleElementServices
                                                  .LoadSelectElements(UserInfo.ID, moduleId, roleIds);

            foreach (ModuleElement element in moduleElements)
            {
                sb.AppendFormat("<button id='{0}' class='btn btn-sm {1}' data-action='{2}' {3}>\r\n"
                                , element.DomId, element.Class, element.Action, element.Attr);
                if (!string.IsNullOrEmpty(element.Icon))
                {
                    sb.AppendFormat("<i class='glyphicon {0}' style='margin-right: 5px;'></i>", element.Icon);
                }
                sb.Append(element.Name + "</button>");
            }
            return(sb.ToString());
        }
        public IActionResult Modules(int pageIndex, int pageSize, string sort,
                                     OrderType order, string moduleName, int parentId, DateTime startTime, DateTime endTime)
        {
            PageHelper.GetPageIndex(ref pageIndex);
            PageHelper.GetPageSize(ref pageSize);

            var tempModules = ModuleServices.LoadEntities(m => true);

            #region 查询
            if (!String.IsNullOrEmpty(moduleName))
            {
                tempModules = tempModules.Where(u => u.Name.Contains(moduleName.Trim()));
            }
            if (parentId > 0)
            {
                tempModules = tempModules.Where(u => u.Parent.ID == parentId);
            }
            if (startTime > new DateTime(1970, 1, 1) && startTime != endTime)
            {
                tempModules = tempModules.Where(u => u.AddTime > startTime);
            }
            if (endTime > startTime)
            {
                tempModules = tempModules.Where(u => u.AddTime < endTime);
            }
            #endregion

            #region 排序
            if ("AddTime".Equals(sort, StringComparison.InvariantCultureIgnoreCase))
            {
                tempModules = Sort(tempModules, r => r.AddTime, order).ThenBy(r => r.ID);
            }
            else if ("Sort".Equals(sort, StringComparison.InvariantCultureIgnoreCase))
            {
                tempModules = Sort(tempModules, r => r.Sort, order).ThenBy(r => r.ID);
            }
            else
            {
                tempModules = Sort(tempModules, r => r.ID, order);
            }
            #endregion

            int totalCount = tempModules.Count();
            var modules    = ModuleServices
                             .LoadPageEntities(pageIndex, pageSize, tempModules);

            int pageCount = PageHelper.GetPageCount(totalCount, pageSize);
            return(Ok(new Result <Object>
            {
                State = 1,
                Message = "获取成功",
                Data = new {
                    total = totalCount,
                    rows = modules.Select(m => new
                    {
                        ID = m.ID,
                        m.Name,
                        m.Url,
                        m.IconName,
                        m.Sort,
                        ParentID = m.Parent == null ? 0 : m.Parent.ID,
                        ParentName = m.Parent == null ? String.Empty : m.Parent.Name,
                        m.AddTime
                    })
                }
            }));
        }