Esempio n. 1
0
        /// <summary>
        /// 儲存一筆子目錄
        /// </summary>
        /// <param name="member"></param>
        public bool SubMenuSave(SubMenuDataModel model, DataSaveMode mode)
        {
            bool       addSuccess = true;
            MenuModule menuModule = new MenuModule();

            try
            {
                addSuccess = menuModule.SaveSubMenuData(mode, model);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(addSuccess);
        }
Esempio n. 2
0
        public ActionResult SubMenuAdd(SubMenuDataModel model)
        {
            Exception error = null;

            try
            {
                bool result = this.Repository.SubMenuSave(model, Enums.DataSaveMode.Add);
            }
            catch (Exception ex)
            {
                error = ex;
            }

            if (error != null)
            {
                TempData["ResultMsg"] = error.Message;
            }
            else
            {
                TempData["ResultMsg"] = "success";
            }

            return(RedirectToAction("MenuEdit", new { muID = model.SubMenuID }));
        }
Esempio n. 3
0
        public bool SaveSubMenuData(DataSaveMode mode, SubMenuDataModel model)
        {
            bool       isSuccess  = true;
            string     muID       = model.SubMenuID;
            PTMenu     pTMenu     = null;
            PTFunction pTFunction = null;

            try
            {
                if (mode == DataSaveMode.Add)
                {
                    var chkHasMenu = this.GetMenuDataByID(muID);
                    if (chkHasMenu != null)
                    {
                        throw new Exception("已有MenuID為:" + muID + " 的選單,目錄名稱為:" + chkHasMenu.MenuName);
                    }
                    //menu
                    pTMenu = new PTMenu()
                    {
                        BUD_DTM   = DateTime.UtcNow.AddHours(8),
                        BUD_USRID = SignInProvider.Instance.User.ADAccount
                    };
                    //function
                    pTFunction = new PTFunction()
                    {
                        BUD_DTM   = DateTime.UtcNow.AddHours(8),
                        BUD_USRID = SignInProvider.Instance.User.ADAccount,
                    };
                }
                else if (mode == DataSaveMode.Edit)
                {
                    //menu
                    pTMenu = this.PorDB.PTMenu.Where(o => o.MUID == muID).FirstOrDefault();
                    if (pTMenu == null)
                    {
                        throw new Exception("無法取得選單主檔");
                    }
                    //function
                    pTFunction = this.GetProtorMentFunctionByID(muID);
                }
                else
                {
                    throw new Exception("[儲存目錄]無法得知的儲存模式");
                }

                pTMenu.MUID      = model.SubMenuID;
                pTMenu.MU_NM     = model.SubMenuName;
                pTMenu.MUICON    = model.SubMenuIcon;
                pTMenu.ACT_FG    = model.SubEnabled;
                pTMenu.MENU_FG   = model.SubMenuEnabled;
                pTMenu.MUPID     = model.SubParentMenuID;
                pTMenu.UPD_DTM   = DateTime.UtcNow.AddHours(8);
                pTMenu.UPD_USRID = SignInProvider.Instance.User.ADAccount;

                pTFunction.MAP_MUID  = muID;
                pTFunction.SORT_SEQ  = model.SubMenuSort;
                pTFunction.FN_DIR    = model.SubMenuPathController;
                pTFunction.FN_KEY    = model.SubMenuPathAction;
                pTFunction.FN_LINK   = string.Concat(model.SubMenuPathController, "/", model.SubMenuPathAction);
                pTFunction.UPD_DTM   = DateTime.UtcNow.AddHours(8);
                pTFunction.UPD_USRID = SignInProvider.Instance.User.ADAccount;

                if (mode == DataSaveMode.Add)
                {
                    this.PorDB.PTMenu.Add(pTMenu);
                    this.PorDB.PTFunction.Add(pTFunction);
                }
                else
                {
                    this.PorDB.Entry(pTMenu).State     = EntityState.Modified;
                    this.PorDB.Entry(pTFunction).State = EntityState.Modified;
                }
                this.PorDB.SaveChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(isSuccess);
        }