예제 #1
0
        private void Refresh(bool rmodule, bool rmenu, bool rmenudtl, bool rrole, bool ruser)
        {
            if (rmodule)
            {
                ModuleList.Clear();
                ModuleList.AddRange(PubMaster.Mod.RoleSql.QueryWcsModuleList());
            }

            if (rmenu)
            {
                MenuList.Clear();
                MenuList.AddRange(PubMaster.Mod.RoleSql.QueryWcsMenuList());
            }

            if (rmenudtl)
            {
                MenuDtlList.Clear();
                MenuDtlList.AddRange(PubMaster.Mod.RoleSql.QueryWcsMenuDtlList());
            }

            if (rrole)
            {
                RoleList.Clear();
                RoleList.AddRange(PubMaster.Mod.RoleSql.QueryWcsRoleList());
            }

            if (ruser)
            {
                UserList.Clear();
                UserList.AddRange(PubMaster.Mod.RoleSql.QueryWcsUserList());
            }
        }
예제 #2
0
        public void AddMenuDtl(MenuModel md, short order)
        {
            WcsMenuDtl dtl = MenuDtlList.Find(c => c.id == md.Id);

            if (dtl != null)//修改
            {
                EditMenuDtl(dtl, md, order);
            }
            else//添加
            {
                AddMenuDtlByModel(md, order);
            }

            if (md.MenuList != null)
            {
                short             dtlorder = 1;
                List <WcsMenuDtl> dtllist  = GetMenuDtls(md.Id);
                foreach (var item in md.MenuList)
                {
                    WcsMenuDtl mdtl = MenuDtlList.Find(c => c.id == item.Id);
                    //修改
                    if (mdtl != null)
                    {
                        EditMenuDtl(mdtl, item, dtlorder);
                    }
                    else
                    {
                        //添加
                        AddMenuDtlByModel(item, dtlorder);
                    }
                    dtlorder++;
                }
            }
        }
예제 #3
0
        public UserModelPack GetPDAMenu(WcsRole role)
        {
            UserModelPack     pack  = new UserModelPack();
            List <ModuleView> menus = new List <ModuleView>();

            List <WcsMenuDtl> usermenus = MenuDtlList.FindAll(c => c.rf && c.menu_id == role.menu_id);

            if (usermenus.Count > 0)
            {
                usermenus.Sort((x, y) => x.order.CompareTo(y.order));
                foreach (WcsMenuDtl item in usermenus)
                {
                    WcsModule md = GetModule(item.module_id);
                    if (md != null && md.ModuleType == WcsModuleTypeE.平板)
                    {
                        menus.Add(new ModuleView()
                        {
                            ModuleName  = item.name,
                            ModuleId    = md.key,
                            ModulePic   = md.geometry,
                            ModuleEntry = md.entity
                        });
                    }
                }
            }
            pack.AddModule(menus);
            return(pack);
        }
예제 #4
0
 public int GetMaxMenuDtlId()
 {
     if (MenuDtlNexId == -1)
     {
         try
         {
             MenuDtlNexId = MenuDtlList.Max(c => c.id);
         }catch
         {
             MenuDtlNexId = 1000;
         }
     }
     return(++MenuDtlNexId);
 }
예제 #5
0
        public void DeleteMenu(List <MenuModel> deletelist)
        {
            foreach (var item in deletelist)
            {
                WcsMenuDtl dtl = MenuDtlList.Find(c => c.id == item.Id);
                if (dtl != null)
                {
                    if (dtl.folder)
                    {
                        PubMaster.Mod.RoleSql.DeleteWcsMenuDtlsByFolderId(dtl.id);
                    }

                    PubMaster.Mod.RoleSql.DeleteWcsMenuDtl(dtl);
                }
            }
        }
예제 #6
0
        public List <MenuModel> GetWcsMenuDtl(int menuid)
        {
            List <MenuModel>  menus     = new List <MenuModel>();
            List <WcsMenuDtl> usermenus = MenuDtlList.FindAll(c => c.menu_id == menuid);

            if (usermenus.Count > 0)
            {
                usermenus.Sort((x, y) => x.order.CompareTo(y.order));
                foreach (WcsMenuDtl item in usermenus)
                {
                    MenuModel menumd = GetMenu(item.id);
                    if (menumd != null)
                    {
                        menus.Add(menumd);
                    }
                }
            }
            return(menus);
        }
예제 #7
0
 public string GetMenuName(int id)
 {
     return(MenuDtlList.Find(c => c.id == id)?.name ?? "找不到菜单数据:" + id);
 }
예제 #8
0
 public List <WcsMenuDtl> GetMenuDtls(int folderid)
 {
     return(MenuDtlList.FindAll(c => c.folder_id == folderid));
 }
예제 #9
0
 public WcsMenuDtl GetMenuDtl(int id)
 {
     return(MenuDtlList.Find(c => c.id == id));
 }