Exemple #1
0
        public AjaxResult Save(MenuColumn old, MenuColumn model)
        {
            bool addFlag = model.ID < 1;
            var  user    = log.User;

            model.CREATEBY   = user.ACCOUNT;
            model.CREATEDATE = DateTime.Now;
            model.UPDATEBY   = model.CREATEBY;
            model.UPDATEDATE = model.CREATEDATE;
            model.ENABLED    = true;
            if (addFlag)
            {
                model.MENUID = Guid.NewGuid().ToString();
                bool existFlag = columnRep.Exist(m => m.TYPE == model.TYPE && m.TABLEID == model.TABLEID && m.NAME == model.NAME && m.ENABLED == true);
                if (existFlag)
                {
                    return(new AjaxResult(false, "已经存在该菜单列"));
                }
                int  columnId = columnRep.Add <int>(model);
                bool flag     = columnId > 0;
                if (flag)
                {
                    RemoveCache();
                }
                ActionType type = ActionType.SYS_ADD;
                string     msg  = WebConst.GetActionMsg(type, flag);
                log.AppendAdd("表ID", model.TABLEID.ToString()).AppendAdd("列名", model.NAME).AppendAdd("类型", model.TYPE.ToString()).AppendAdd("条件类型", model.CONDITIONTYPE.ToString()).AppendAdd("控件类型", model.INPUTTYPE.ToString()).AppendAdd("控件文本", model.FIELDTEXT).AddSystem(type, columnId);
                return(new AjaxResult(flag, msg));
            }
            else
            {
                bool existFlag = columnRep.Exist(m => m.TYPE == model.TYPE && m.TABLEID == model.TABLEID && m.NAME == model.NAME && m.ENABLED == true && m.ID != model.ID);
                if (existFlag)
                {
                    return(new AjaxResult(false, "已经存在该菜单列"));
                }
                bool flag = columnRep.Update(model, m => new
                {
                    m.NAME,
                    m.CONDITIONTYPE,
                    m.INPUTTYPE,
                    m.TABLEID,
                    m.UPDATEBY,
                    m.TYPE,
                    m.FIELDTEXT,
                    m.FIELDTYPE,
                    m.UPDATEDATE,
                    m.SORTID,
                    m.FIELDVALUE
                }, m => m.ID == model.ID);
                if (flag)
                {
                    RemoveCache();
                }
                ActionType type = ActionType.SYS_UPDATE;
                string     msg  = WebConst.GetActionMsg(type, flag);
                log.AppendUpdate("表ID", old.TABLEID.ToString(), model.TABLEID.ToString()).AppendUpdate("列名", old.NAME, model.NAME).AppendUpdate("类型", old.TYPE.ToString(), model.TYPE.ToString()).AppendUpdate("条件类型", old.CONDITIONTYPE.ToString(), model.CONDITIONTYPE.ToString()).AppendUpdate("控件类型", old.INPUTTYPE.ToString(), model.INPUTTYPE.ToString()).AppendUpdate("控件文本", old.FIELDTEXT, model.FIELDTEXT).AddSystem(type, model.ID);
                return(new AjaxResult(flag, msg));
            }
        }
        //------------------------------------------------------------------------/
        // Methods: Add
        //------------------------------------------------------------------------/
        public void AddItem(string content, GenericMenu.MenuFunction menuFunction, string columnName)
        {
            MenuColumn column = null;
            bool       exists = this.columns.ContainsKey(columnName);

            if (!exists)
            {
                column = new MenuColumn(columnName);
                this.columns.Add(columnName, column);
                this.menu.Add(column);
            }
            else
            {
                column = this.columns[columnName];
            }

            column.items.Add(new MenuOption(content, menuFunction));

            this.hasMenu = true;
        }
        public ActionResult Save(MenuColumn old, MenuColumn model)
        {
            var result = column.Save(old, model);

            return(Json(result));
        }
 private void ApplyMinHeight()
 {
     MenuColumn.UpdateLayout();
     MinHeight = MenuColumn.ActualHeight + SystemParameters.WindowCaptionHeight + 25; //I have no idea why this 25 is necessary here. That's UI for you I guess.
 }