예제 #1
0
        void IArchiveService.Delete(object obj)
        {
            MenuEntity entity = obj as MenuEntity;

            Debug.Assert(entity != null, "entity为null");
            if (entity != null)
            {
                Delete(entity);
            }
        }
예제 #2
0
        /// <summary>
        /// 添加 菜单
        /// </summary>
        public int AddMenu(MenuEntity menu)
        {
            MenuEntity roleCompare = dal.GetMenuByName(menu.Name);

            if (roleCompare != null)
            {
                throw new Exception("已经存在此菜单!");
            }
            return(dal.AddMenu(menu));
        }
예제 #3
0
        /// <summary>
        /// 读配置文件
        /// </summary>
        private void InitFromXml()
        {
            XmlDocument xdoc       = new XmlDocument();
            string      configPath = ConfigurationManager.AppSettings["MenuConfigPath"];

            if (!string.IsNullOrEmpty(configPath))
            {
                if (configPath.StartsWith("~/") || configPath.StartsWith("/"))
                {
                    configPath = HttpContext.Current.Request.MapPath(configPath);
                }
                else if (configPath.StartsWith("\\"))
                {
                    configPath = AppDomain.CurrentDomain.BaseDirectory + configPath.Substring(1);
                }
            }
            else
            {
                configPath = AppDomain.CurrentDomain.BaseDirectory + "menu.config";
            }
            if (!File.Exists(configPath))
            {
                throw new Exception("MenuConfig的配置文件不存在或配置路径错误.");
            }
            xdoc.Load(configPath);

            foreach (XmlElement node in xdoc.SelectNodes("/root/mainMenu"))
            {
                //主菜单
                MenuEntity mainMenu = new MenuEntity();
                mainMenu.Key   = node.Attributes["key"].Value;
                mainMenu.Title = node.Attributes["title"].Value;
                mainMenu.Icon  = node.Attributes["icon"].Value;
                mainMenu.Url   = node.Attributes["url"].Value;

                List <MenuEntity> subMenuList = new List <MenuEntity>();

                XmlNodeList subNodeList = node.SelectNodes("subMenu");
                if (subNodeList != null && subNodeList.Count > 0)
                {
                    //子菜单
                    foreach (XmlElement subNode in subNodeList)
                    {
                        MenuEntity subMenu = new MenuEntity();
                        subMenu.Key   = subNode.Attributes["key"].Value;
                        subMenu.Title = subNode.Attributes["title"].Value;
                        subMenu.Icon  = subNode.Attributes["icon"].Value;
                        subMenu.Url   = subNode.Attributes["url"].Value;
                        subMenuList.Add(subMenu);
                    }
                }

                _menuDict.Add(mainMenu, subMenuList);
            }
        }
        public override void InitPluginData(DbContext baseDbContextx)
        {
            EvolutionDBContext baseDbContext = (EvolutionDBContext)baseDbContextx;

            if (baseDbContext.Menus.Count(t => t.UrlAddress == "/kanban/userstory") == 0)
            {
                MenuEntity section = new MenuEntity();
                section.Id               = Guid.NewGuid().ToString();
                section.FullName         = "敏捷项目管理";
                section.Layers           = 1;
                section.IsExpand         = true;
                section.IsMenu           = false;
                section.IsPublic         = false;
                section.LastModifyTime   = DateTime.Now;
                section.LastModifyUserId = "System";
                section.SortCode         = 0;
                section.Target           = "expand";
                section.ParentId         = "0";
                section.EnabledMark      = true;
                section.AllowDelete      = false;
                section.AllowEdit        = false;
                section.DeleteMark       = false;
                baseDbContext.Add(section);

                MenuEntity menuItem = new MenuEntity();
                menuItem.Id               = "76824036-58D7-44DD-BF94-A1E0679FFFEE";
                menuItem.FullName         = "项目管理";
                menuItem.Layers           = 2;
                menuItem.IsExpand         = false;
                menuItem.IsMenu           = true;
                menuItem.IsPublic         = false;
                menuItem.LastModifyTime   = DateTime.Now;
                menuItem.LastModifyUserId = "System";
                menuItem.SortCode         = 999;
                menuItem.Target           = "iframe";
                menuItem.ParentId         = section.Id;
                menuItem.EnabledMark      = true;
                menuItem.UrlAddress       = "/kanban/project";
                menuItem.AllowDelete      = false;
                menuItem.AllowEdit        = false;
                menuItem.DeleteMark       = false;
                baseDbContext.Add(menuItem);

                ProjectEntity pe = new ProjectEntity();
                pe.Id               = Guid.NewGuid().ToString();
                pe.Name             = "测试项目";
                pe.LastModifyTime   = DateTime.Now;
                pe.LastModifyUserId = "System";
                pe.SortCode         = 0;
                pe.EnabledMark      = true;
                pe.DeleteMark       = false;
                baseDbContext.Add(pe);
                baseDbContext.SaveChanges();
            }
        }
예제 #5
0
        private bool SaveMenu()
        {
            if (!CanSave())
            {
                return(false);
            }

            MenuEntity Menu = new MenuEntity();

            Menu.MenuTitle    = txtName.Text;
            Menu.MenuParent   = new Guid(txtName.Tag.ToString());
            Menu.MenuCode     = txtCode.Text;
            Menu.MenuID       = new Guid(txtCode.Tag.ToString());
            Menu.MenuLevel    = CmbLevel.SelectedIndex;
            Menu.MenuTypeCode = cmbMenuType.SelectedIndex;
            Menu.MenuOrder    = int.Parse(txtOrder.Text);

            MenuBussiness uBLL = new MenuBussiness();

            if (Menu.MenuID == new Guid())
            {
                Menu.MenuID = uBLL.Insert(Menu);
                if (GetCurrentMenuID() != new Guid())
                {
                    tvMenu.SelectedNode.Nodes.Clear();
                    FillChild(tvMenu.SelectedNode);
                }
                else
                {
                    LoadTree();
                    tvMenu_AfterSelect(null, null);
                }
            }
            else
            {
                uBLL.Update(Menu);

                TreeNode Tnd = tvMenu.SelectedNode.Parent;
                tvMenu.SelectedNode.Parent.Nodes.Clear();
                if (new Guid(Tnd.Tag.ToString()) != new Guid())
                {
                    FillChild(Tnd);
                }
                else
                {
                    LoadTree();
                }
            }

            EnableItems(true);
            tvMenu_AfterSelect(null, null);

            return(true);
        }
예제 #6
0
        public ActionResult Create([Bind(Include = "MenuEntityId,ParentMenuId,MenuName,MenuDisplayName,ControllerName,ActionName,SortId")] MenuEntity menuEntity)
        {
            if (ModelState.IsValid)
            {
                _iMenuEntityRepos.AddorUpdate(menuEntity);
                _iMenuEntityRepos.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(menuEntity));
        }
예제 #7
0
        public bool Insert(MenuEntity menuentity)
        {
            int           autonumber          = 0;
            MenuEntityDAC menuentityComponent = new MenuEntityDAC();
            bool          endedSuccessfuly    = menuentityComponent.InsertNewMenuEntity(ref autonumber, menuentity.MenuName, menuentity.ContentEntityId);

            if (endedSuccessfuly)
            {
                menuentity.MenuEntityId = autonumber;
            }
            return(endedSuccessfuly);
        }
예제 #8
0
        public MainWindow()
        {
            InitializeComponent();

            PageEvent pageEvent = ServiceLocator.Current.TryResolve <IEventAggregator>().GetEvent <PageEvent>();

            pageEvent.Subscribe((p) =>
            {
                MenuEntity menu = p.Menu;
                AddPage(menu.Name, p.Page);
            });
        }
예제 #9
0
 public static void AttributeMap()
 {
     MenuEntity entity = new MenuEntity
     {
         Id         = 1,
         MenuCode   = "01",
         MenuName   = "用户管理",
         ParentCode = "0",
         ParentId   = 0
     };
     var dto = Mapper.Map <MenuDto>(entity);
 }
예제 #10
0
        public IViewComponentResult Invoke()
        {
            MenuHelper _articleService = new MenuHelper();

            if (MenuEntity == null)
            {
                MenuEntity = new MenuEntity();
                MenuEntity = _articleService.LoadMenu();
            }

            return(View(MenuEntity.menuItems));
        }
예제 #11
0
 public void BuildMenu(MenuEntity menuEntity)
 {
     menuEntity.Id       = "";
     menuEntity.ParentId = "";
     if (menuEntity.Children.Count > 0)
     {
         foreach (var item in menuEntity.Children)
         {
             BuildMenu(item);
         }
     }
 }
예제 #12
0
    private void BindDDL()
    {
        ArrayList   items = this._menu.AllMenuItemForUpdate();
        IEnumerator e     = items.GetEnumerator();

        while (e.MoveNext())
        {
            MenuEntity item = (MenuEntity)(e.Current);
            ListItem   li   = new ListItem(item.Name, item.Id);
            this.ddlParentMenu.Items.Add(li);
        }
    }
예제 #13
0
 /// <summary>
 /// 保存菜单
 /// </summary>
 /// <param name="menuEntity">菜单实体</param>
 /// <param name="keyValue">菜单Id,有id则更新,无id则新建</param>
 public Task <int> Save(MenuEntity menuEntity, string keyValue, string userId)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         menuEntity.AttachModifyInfo(keyValue, userId);
         return(service.UpdateAsync(menuEntity));
     }
     else
     {
         menuEntity.AttachCreateInfo(userId);
         return(service.InsertAsync(menuEntity));
     }
 }
예제 #14
0
        public void AddMenu(MenuInfo menu)
        {
            MenuEntity entity = new MenuEntity();

            entity.Id          = Guid.NewGuid();
            entity.Index       = menu.Index;
            entity.IsNewWindow = menu.IsNewWindow;
            entity.Name        = menu.Name;
            entity.ParentId    = menu.ParentId;
            MenuManager manager = new MenuManager(DbAccess);

            manager.AddMenu(entity);
        }
예제 #15
0
        public int InsertMenu(MenuEntity me)
        {
            string sqlstr = "insert into dbo.Menu (Csy_ID,Meu_Menu,Meu_FatherMenuID,Meu_Rank,Meu_Url)values({0},'{1}',{2},{3},'{4}')";

            sqlstr = string.Format(sqlstr, me.CsyID, me.MenuName, me.FatherID, me.Rank, me.Url);
            int ret = SqlDataHelper.ExecuteNonQuery(SqlDataHelper.GetConnection(), CommandType.Text, sqlstr);

            if (ret > 0)
            {
                return(1);
            }
            return(-1);
        }
예제 #16
0
        public MenuEntity LoadMenu()
        {
            MenuEntity MenuResponce = new MenuEntity();

            var _menu = _menus.Where(q => q.IsEnable != false).OrderBy(o => o.Ordinal).ToList();

            var menuItems = GenerateTree(_menu, _menu.First(q => q.ParentId == -1));

            MenuResponce.menuItems   = menuItems.ToList();
            MenuResponce.associateId = "Test";

            return(MenuResponce);
        }
예제 #17
0
        /// <summary>
        /// 获取用于存储在XML索引文件中的索引节点
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        private XElement GetArchiveIndex(MenuEntity entity)
        {
            Debug.Assert(entity != null, "entity 为 null");

            XElement ele = new XElement("Entity",
                                        new XAttribute("Id", entity.Id),
                                        new XAttribute("Name", entity.Name),
                                        new XAttribute("Code", entity.Code),
                                        new XAttribute("Sys", entity.Sys),
                                        new XAttribute("ParentId", entity.ParentId));

            return(ele);
        }
예제 #18
0
        private MenuEntity GetMenu(RightEntity rightEntity, PluginEntity pluginEntity)
        {
            string startWith = "/" + pluginEntity.Name + "/";
            string replace   = "/" + pluginEntity.Name + "/" + pluginEntity.PVersion + "/";

            MenuEntity mm = new MenuEntity(rightEntity.Id, rightEntity.Name, "/plugins" + rightEntity.Url.Replace(startWith, replace), false, pluginEntity.Icon);

            foreach (var item in rightEntity.Children)
            {
                mm.Children.Add(GetMenu(item, pluginEntity));
            }
            return(mm);
        }
        public void Menu_Entity_Test()
        {
            IEntity root           = new MenuEntity(Path.MainRoot);
            IEntity algorithms     = new MenuEntity(Path.ClassicalAlgorithms.Root);
            IEntity dataStructures = new MenuEntity(Path.DataStructures.Root);

            root.AddChild(algorithms);
            algorithms.AddChild(dataStructures);

            root.Path.Should().Be(Path.MainRoot);
            algorithms.Path.Should().Be(Path.MainRoot + Path.ClassicalAlgorithms.Root);
            dataStructures.Path.Should().Be(Path.MainRoot + Path.ClassicalAlgorithms.Root + Path.DataStructures.Root);
        }
예제 #20
0
        public override Style SelectStyle(object item, DependencyObject container)
        {
            MenuEntity functionItem = item as MenuEntity;

            if (functionItem.IsGroup)
            {
                return(ControlHelper.FindVisualParent <Menu>(container).Resources["MainMenuStyle"] as Style);
            }
            else
            {
                return(null);
            }
        }
예제 #21
0
        public EditMenuPage(MenuEntity menu)
        {
            InitializeComponent();
            menuToUpdate   = menu;
            _cameraHandler = DependencyService.Get <ICameraHandler>();
            _cameraHandler.AddPhotoTakenEventHandler(PhotoReceived); // Callback

            var dishes = new List <StackLayout>();

            foreach (var dish in menuToUpdate.Dishes)
            {
                DishWrapperStack.Children.Add(NewDishStack(dish));
            }
        }
예제 #22
0
        public List <MenuEntity> MakeMenuList(DataTable dt)
        {
            List <MenuEntity> list = new List <MenuEntity>();

            if (dt != null)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    MenuEntity menuEntity = MakeMenu(dt.Rows[i]);
                    list.Add(menuEntity);
                }
            }
            return(list);
        }
예제 #23
0
        // GET: MenuEntities/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MenuEntity menuEntity = _iMenuEntityRepos.FindById((int)id);

            if (menuEntity == null)
            {
                return(HttpNotFound());
            }
            return(View(menuEntity));
        }
예제 #24
0
        private Menu MapMenuToEntity(MenuEntity menuEntity)
        {
            var menu = _mapper.Map <Menu>(menuEntity);

            menu.ItemList = new List <ItemSubResource>();
            foreach (ItemJMenu itemMenu in menuEntity.ItemMenus)
            {
                var item = _mapper.Map <ItemSubResource>(itemMenu.Item);
                item.Self = Link.To(nameof(ItemsController.GetItem), new { itemId = itemMenu.ItemID });
                item.Qty  = itemMenu.Qty;
                menu.ItemList.Add(item);
            }
            return(menu);
        }
예제 #25
0
        public async Task <Guid> CreateAsync(UpdateMenuRequest request)
        {
            var uid  = Guid.NewGuid();
            var menu = new MenuEntity
            {
                Id             = uid,
                Title          = request.Title.Trim(),
                DisplayOrder   = request.DisplayOrder,
                Icon           = request.Icon,
                Url            = request.Url,
                IsOpenInNewTab = request.IsOpenInNewTab
            };

            if (request.SubMenus is { Length : > 0 })
예제 #26
0
        public MenuEntity GetMenu(Guid domainId)
        {
            MenuEntity menuEntity = new MenuEntity();

            menuEntity.DomainId = domainId;
            if (_dataBase.Fill <MenuEntity>(menuEntity))
            {
                return(menuEntity);
            }
            else
            {
                return(null);
            }
        }
예제 #27
0
    public async Task <Guid> Handle(CreateMenuCommand request, CancellationToken cancellationToken)
    {
        var uid  = Guid.NewGuid();
        var menu = new MenuEntity
        {
            Id             = uid,
            Title          = request.Payload.Title.Trim(),
            DisplayOrder   = request.Payload.DisplayOrder.GetValueOrDefault(),
            Icon           = request.Payload.Icon,
            Url            = request.Payload.Url,
            IsOpenInNewTab = request.Payload.IsOpenInNewTab
        };

        if (request.Payload.SubMenus is { Length : > 0 })
예제 #28
0
파일: Startup.cs 프로젝트: pssok88/netCore
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, DinerContext db, CreateMenuService menuService)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                db.Database.Migrate();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            try
            {
                MenuEntity item = db.Menu.FirstOrDefault(x => x.ItemName != null);
                if (item == null)
                {
                    menuService.Load(db);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Error creating menu");
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();
            app.UseSpaStaticFiles();
            app.UseAuthentication();


            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller}/{action=Index}/{id?}");
            });

            app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseReactDevelopmentServer(npmScript: "start");
                }
            });
        }
예제 #29
0
        public async Task SaveForm(MenuEntity entity)
        {
            if (entity.Id.IsNullOrZero())
            {
                await entity.Create();

                await this.BaseRepository().Insert(entity);
            }
            else
            {
                await entity.Modify();

                await this.BaseRepository().Update(entity);
            }
        }
예제 #30
0
        public bool ExistMenuName(MenuEntity entity)
        {
            var expression = LinqExtensions.True <MenuEntity>();

            expression = expression.And(t => t.BaseIsDelete == 0);
            if (entity.Id.IsNullOrZero())
            {
                expression = expression.And(t => t.MenuName == entity.MenuName && t.MenuType == entity.MenuType);
            }
            else
            {
                expression = expression.And(t => t.MenuName == entity.MenuName && t.MenuType == entity.MenuType && t.Id != entity.Id);
            }
            return(this.BaseRepository().IQueryable(expression).Count() > 0 ? true : false);
        }