Exemplo n.º 1
0
        /// <summary>儲存選單資料</summary>
        public static bool SaveMenuInfo(MenuDetailViewModel m)
        {
            string action = "";

            //有無選單編號,若無則視為新增
            if (string.IsNullOrEmpty(m.MenuNo))
            {
                action = "Add";

                //判斷是否為空值
                m.ParentMenuNo = string.IsNullOrWhiteSpace(m.ParentMenuNo) ? "" : m.ParentMenuNo;

                //設定新選單編號
                string strMaxMenuNo = MenuDataAccess.GetMaxMenuNo(m.ParentMenuNo, m.ParentMenuNo.Length + 2);
                m.MenuNo = Util.GetPadLeftString(strMaxMenuNo, 1);
            }

            //開啟資料庫存取物件
            using (var db = new DataBase.DataBase(Definition.Conn))
            {
                //資料庫參數
                var param = new DataBase.SqlParams();
                param.Add("MenuNo", m.MenuNo);
                param.Add("MenuName", m.MenuName);
                param.Add("MenuLink", m.MenuLink);
                param.Add("Type", m.Type);
                param.Add("MenuDesc", m.MenuDesc);
                param.Add("OrderID", m.OrderID);
                param.Add("Enabled", m.Enabled);
                param.Add("MenuIco", m.MenuIco);
                db.SqlParams = param;

                if (action == "Add")
                {
                    //新增資料
                    db.StrSQL = @"--設定排序值--
                    SET @OrderID = (SELECT MAX(OrderID) + 1 FROM Menu WHERE LEN(MenuNo) = LEN(@MenuNo));
                    INSERT Menu(MenuNo, MenuName, MenuLink, Type, MenuDesc, OrderID, Enabled, MenuIco) VALUES(@MenuNo, @MenuName, @MenuLink, @Type, @MenuDesc, @OrderID, @Enabled, @MenuIco)";
                }
                else
                {
                    db.StrSQL = "UPDATE Menu SET MenuName=@MenuName, MenuLink=@MenuLink, Type=@Type, MenuDesc=@MenuDesc, OrderID=@OrderID, Enabled=@Enabled, MenuIco=@MenuIco WHERE MenuNo=@MenuNo";
                }

                int iResult = db.ExecuteSQL();
                return(iResult > 0);
            }
        }