/// <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); }
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 })); }
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); }