public int UpdateRole(VRole vRole) { var role = new Role(); role.Name = vRole.Name; role.Updatetime = DateTime.UtcNow; role.Id = vRole.Id; role.Code = null; var result = _role.Update(role); if (result > 0) { if (vRole.MenuId == null || !vRole.MenuId.Any()) { return(result); } var sql = $"delete MenuRole where Role in({role.Id});"; _menuRole.Exec(sql); var menuRole = vRole.MenuId.Select(t => { var value = new MenuRole(); value.Menu = t; value.Role = role.Id; value.Updatetime = DateTime.UtcNow; return(value); }); return(_menuRole.Add(menuRole)); } return(-1); }
public RoleServices() { _role = new Role(); _userRole = new UserRole(); _menuRole = new MenuRole(); _menuServices = new MenuServices(); }
public int AddRole(VRole vRole) { var role = new Role(); role.Name = vRole.Name; role.Updatetime = DateTime.UtcNow; role.Code = Guid.NewGuid().ToString(); var result = _role.Add(role); role = GetRoleByCode(role.Code).SingleOrDefault(); if (result > 0) { if (vRole.MenuId == null || !vRole.MenuId.Any()) { return(result); } var menuRole = vRole.MenuId.Select(t => { var value = new MenuRole(); value.Menu = t; value.Role = role.Id; value.Updatetime = DateTime.UtcNow; return(value); }); return(_menuRole.Add(menuRole)); } return(-1); }
public async Task <VerifyRecordResult> DeleteAsync(int id) { try { CleanTrackingHelper.Clean <MenuRole>(context); MenuRole item = await context.MenuRole .AsNoTracking() .FirstOrDefaultAsync(x => x.Id == id); if (item == null) { return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法刪除紀錄)); } else { if (item.Name == MagicHelper.開發者功能表角色 || item.Name == MagicHelper.系統管理員功能表角色) { return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法刪除紀錄)); } CleanTrackingHelper.Clean <MenuRole>(context); context.Entry(item).State = EntityState.Deleted; await context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuRole>(context); return(VerifyRecordResultFactory.Build(true)); } } catch (Exception ex) { Logger.LogError(ex, "刪除記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "刪除記錄發生例外異常", ex)); } }
public static List <MenuRole> GetMenuByUser(string username) { using (BanHangContext db = new BanHangContext()) { var aRoleMenu = (from l in db.TBL_LOGINs join lg in db.TBL_GROUP_LOGINs on l.USERNAME equals lg.USERNAME join g in db.TBL_GROUPs on lg.ID_GROUP equals g.ID join rg in db.TBL_GROUP_ROLEs on g.ID equals rg.ID_GROUP join r in db.TBL_ROLEs on rg.ID_ROLE equals r.ID join m in db.TBL_MENUs on r.ID equals m.ID_ROLE where l.ACTIVATE == true && l.USERNAME == username && lg.ACTIVATE == true && g.ACTIVATE == true && rg.ACTIVATE == true && r.ACTIVATE == true && m.ACTIVATE == true select new { m, r }).Distinct(); var aUserMenus = new List <MenuRole>(); foreach (var aMenu in aRoleMenu) { var aMN = new MenuRole(); aMN.ID = aMenu.m.ID; aMN.ID_ROLE = aMenu.m.ID_ROLE; aMN.MENU_NAME = aMenu.m.MENU_NAME; aMN.MENU_PARENT = aMenu.m.MENU_PARENT; aMN.MENU_SEQ = aMenu.m.MENU_SEQ; aMN.RouterLink = aMenu.r.ROLE_LINK; aMN.MENU_ICON = aMenu.m.MENU_ICON; if (aUserMenus.Count(x => x.ID == aMN.ID) == 0) { aUserMenus.Add(aMN); } } return(aUserMenus); } }
public static MenuRole GetMenuRoleByID(int id) { MenuRole menuRole = new MenuRole(); SqlMenuRoleProvider sqlMenuRoleProvider = new SqlMenuRoleProvider(); menuRole = sqlMenuRoleProvider.GetMenuRoleByID(id); return menuRole; }
/// <summary> /// 设置权限 /// </summary> /// <param name="roleId"></param> /// <param name="menuIds"></param> /// <returns></returns> public bool SetPower(int roleId, object[] menuIds) { #region //删除角色所有菜单 _baseRepository.ExecuteSqlExecuteSqlCommand("delete from MenuSet where RoleID=@RoleId", new { RoleId = roleId }); //遍历添加菜单 foreach (object menuId in menuIds) { MenuRole menuSet = new MenuRole(); menuSet.menuId = int.Parse(menuId.ToString()); menuSet.roleId = roleId; Menu menu = _menuRepository.FindByClause(x => x.id == menuSet.menuId); //查询Menu表ID为MenuId的数据 Menu parentMenu = _menuRepository.FindByClause(x => x.id == menu.parentId); //查询Menu表中所对应的父级 if (parentMenu != null) { _menuRoleRepository.Insert(menuSet); if (_menuRoleRepository.FindByClause(x => x.roleId == roleId && x.menuId == parentMenu.id) == null) { MenuRole parentMenuSet = new MenuRole(); parentMenuSet.menuId = parentMenu.id; parentMenuSet.roleId = roleId; _menuRoleRepository.Insert(parentMenuSet); } } continue; } return(true); #endregion }
public async Task <VerifyRecordResult> UpdateAsync(MenuRoleAdapterModel paraObject) { try { MenuRole itemData = Mapper.Map <MenuRole>(paraObject); CleanTrackingHelper.Clean <MenuRole>(context); MenuRole item = await context.MenuRole .AsNoTracking() .FirstOrDefaultAsync(x => x.Id == paraObject.Id); if (item == null) { return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法修改紀錄)); } else { CleanTrackingHelper.Clean <MenuRole>(context); context.Entry(itemData).State = EntityState.Modified; await context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuRole>(context); return(VerifyRecordResultFactory.Build(true)); } } catch (Exception ex) { Logger.LogError(ex, "修改記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "修改記錄發生例外異常", ex)); } }
protected void btnUpdate_Click(object sender, EventArgs e) { string loginID = "1"; try { if (Session["Login"] == null) { Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx"); } loginID = ((Login)Session["Login"]).LoginID.ToString(); } catch (Exception ex) { } MenuRole menuRole = new MenuRole(); menuRole = MenuRoleManager.GetMenuRoleByID(Int32.Parse(Request.QueryString["menuRoleID"])); MenuRole tempMenuRole = new MenuRole(); tempMenuRole.MenuRoleID = menuRole.MenuRoleID; tempMenuRole.MenuID = Int32.Parse(ddlMenu.SelectedValue); tempMenuRole.RoleID = Int32.Parse(ddlRole.SelectedValue); tempMenuRole.AddedDate = DateTime.Now; tempMenuRole.AddedBy = loginID; tempMenuRole.ModifyDate = DateTime.Now; tempMenuRole.ModifyBy = loginID; tempMenuRole.RowStatusID = Int32.Parse(ddlRowStatus.SelectedValue); bool result = MenuRoleManager.UpdateMenuRole(tempMenuRole); Response.Redirect("AdminMenuRoleDisplay.aspx"); }
public MenuRoleController(IMenuRoleService menuroleService, IMenuRole menurole, IMenuServices menuservice) { _IMenuRoleService = menuroleService; _IMenuServices = menuservice; _IMenuRole = menurole; _menuRole = new MenuRole(); }
public static MenuRole GetMenuRoleByID(int id) { MenuRole menuRole = new MenuRole(); SqlMenuRoleProvider sqlMenuRoleProvider = new SqlMenuRoleProvider(); menuRole = sqlMenuRoleProvider.GetMenuRoleByID(id); return(menuRole); }
protected override void Dispose(bool isDisposing) { if (isDisposing) { _IMenuRoleService = null; _IMenuRole = null; _menuRole = null; } }
public async Task <JsonResult> Action(MenuRoleActionModel model) { JsonResult result = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet }; var message = ""; bool isSuccess = false; try { if (ModelState.IsValid) { if (model.ID > 0) { _menuRole = _IMenuRoleService.GetDataById(model.ID); //_menuRole.RoleId = model.RoleId; //_menuRole.MenuId = model.MenuId; //_menuRole.IsUpdate = model.IsUpdate; //_menuRole.IsDelete = model.IsDelete; //_menuRole.IsCreate = model.IsCreate; _menuRole.UpdateDate = DateTime.Now; isSuccess = _IMenuRoleService.UpdateData(_menuRole); } else { //_menuRole.RoleId = model.RoleId; //_menuRole.MenuId = model.MenuId; //_menuRole.IsUpdate = model.IsUpdate; //_menuRole.IsDelete = model.IsDelete; //_menuRole.IsCreate = model.IsCreate; _menuRole.EntryDate = DateTime.Now; isSuccess = await Task.Run(() => _IMenuRoleService.SaveData(_menuRole)); } } else { message = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); } } catch (Exception ex) { message = ex.Message; } if (isSuccess) { message = "Data Save Successfully!!"; result.Data = new { Success = true, Message = message }; } else { result.Data = new { Success = false, Message = message }; } return(result); }
public HttpResponseMessage UpdateMenuSetupRole(HttpRequestMessage request, [FromBody] MenuRole menuroleModel) { return(GetHttpResponse(request, () => { var menurole = _CoreService.UpdateMenuRole(menuroleModel); return request.CreateResponse <MenuRole>(HttpStatusCode.OK, menurole); })); }
public ActionResult Edit([Bind(Include = "Id,MenuId,RoleId")] MenuRole menuRole) { if (ModelState.IsValid) { _menuRoleService.Update(menuRole); return(RedirectToAction("Index")); } ViewBag.MenuId = new SelectList(_menuService.GetList(), "Id", "LinkText", menuRole.MenuId); ViewBag.RoleId = new SelectList(_roleService.GetList(), "Id", "Name", menuRole.RoleId); return(View(menuRole)); }
public static void UpdateMenuRole(this MenuRole menuRole, MenuRoleViewModel menuRoleViewModel) { menuRole.MenuId = menuRoleViewModel.MenuId; // menuRole.ApplicationRole = menuRoleViewModel.ApplicationRole; menuRole.MenuName = menuRoleViewModel.MenuName; menuRole.MenuNameEl = menuRoleViewModel.MenuNameEl; menuRole.MenuParent = menuRoleViewModel.MenuParent; menuRole.MenuLink = menuRoleViewModel.MenuLink; menuRole.RoleName = menuRoleViewModel.RoleName; menuRole.Icon = menuRoleViewModel.Icon; }
public async Task <MenuRoleAdapterModel> GetAsync(string name) { MenuRole item = await context.MenuRole .AsNoTracking() .Include(x => x.MenuData) .FirstOrDefaultAsync(x => x.Name == name); MenuRoleAdapterModel result = Mapper.Map <MenuRoleAdapterModel>(item); await OhterDependencyData(result); return(result); }
private void showMenuRoleData() { MenuRole menuRole = new MenuRole(); menuRole = MenuRoleManager.GetMenuRoleByID(Int32.Parse(Request.QueryString["menuRoleID"])); ddlMenu.SelectedValue = menuRole.MenuID.ToString(); ddlRole.SelectedValue = menuRole.RoleID.ToString(); txtAddedBy.Text = menuRole.AddedBy; txtModifyDate.Text = menuRole.ModifyDate.ToString("dd MMM yyyy hh:mm tt"); txtModifyBy.Text = menuRole.ModifyBy; ddlRowStatus.SelectedValue = menuRole.RowStatusID.ToString(); }
public HttpResponseMessage GetMenuSetupRole(HttpRequestMessage request, int menuroleId) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; MenuRole menurole = _CoreService.GetMenuRole(menuroleId); // notice no need to create a seperate model object since MenuSetupRole entity will do just fine response = request.CreateResponse <MenuRole>(HttpStatusCode.OK, menurole); return response; })); }
/// <summary> /// 修改完成时 处理菜单角色 /// </summary> /// <param name="obj"></param> protected override void OnUpdateCompleted(Menu_Roles obj) { base.OnUpdateCompleted(obj); List <int> rolelist; if (string.IsNullOrEmpty(obj.RoleIDs)) { rolelist = new List <int>(); } else { rolelist = Array.ConvertAll <string, int>(obj.RoleIDs.Split(','), m => int.Parse(m)).ToList(); } MenuRole.ResetRole(obj.MenuID, rolelist); }
public BaseResponse <String> GetTreeMenu(string userId, bool menu) { var response = new BaseResponse <string>(); var listTree = _systemService.GetMenuByUserId(userId, menu).Data; var tree = MenuRole.RawCollectionToTree(listTree); string json = JsonConvert.SerializeObject(tree, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore, ContractResolver = new CamelCasePropertyNamesContractResolver() }); response.Value = json.ToString(); return(response); }
public bool UpdateMenuRole(MenuRole menuRole) { using (SqlConnection connection = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("Login_UpdateMenuRole", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MenuRoleID", SqlDbType.Int).Value = menuRole.MenuRoleID; cmd.Parameters.Add("@MenuID", SqlDbType.Int).Value = menuRole.MenuID; cmd.Parameters.Add("@RoleID", SqlDbType.Int).Value = menuRole.RoleID; cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = menuRole.AddedDate; cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = menuRole.AddedBy; cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = menuRole.ModifyDate; cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = menuRole.ModifyBy; cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = menuRole.RowStatusID; connection.Open(); int result = cmd.ExecuteNonQuery(); return(result == 1); } }
public async Task <VerifyRecordResult> AddAsync(MenuRoleAdapterModel paraObject) { try { CleanTrackingHelper.Clean <MenuRole>(context); MenuRole itemParameter = Mapper.Map <MenuRole>(paraObject); CleanTrackingHelper.Clean <MenuRole>(context); await context.MenuRole .AddAsync(itemParameter); await context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuRole>(context); return(VerifyRecordResultFactory.Build(true)); } catch (Exception ex) { Logger.LogError(ex, "新增記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "新增記錄發生例外異常", ex)); } }
public async Task <ActionResult> Action(int?id) { if (id > 0) { _menuRole = await Task.Run(() => _IMenuRoleService.GetDataById(id.Value)); _IMenuRole.ID = _menuRole.ID; //_IMenuRole.RoleId = _menuRole.RoleId; //_IMenuRole.MenuId = _menuRole.MenuId; //_IMenuRole.IsUpdate = _menuRole.IsUpdate; //_IMenuRole.IsDelete = _menuRole.IsDelete; //_IMenuRole.IsCreate = _menuRole.IsCreate; } var roles = RoleManager.Roles.AsQueryable(); //List<MenuRole> allRoleMenu = _IMenuRoleService.GetAllData(); //List<Menu> menus= _IMenuServices.GetAllData(); _IMenuRole.Menus = _IMenuServices.GetAllData(); _IMenuRole.Roles = roles.Select(x => x).ToList(); return(View(_IMenuRole)); }
public MenuRole GetMenuRoleFromReader(IDataReader reader) { try { MenuRole menuRole = new MenuRole ( (int)reader["MenuRoleID"], (int)reader["MenuID"], (int)reader["RoleID"], (DateTime)reader["AddedDate"], reader["AddedBy"].ToString(), (DateTime)reader["ModifyDate"], reader["ModifyBy"].ToString(), (int)reader["RowStatusID"] ); return(menuRole); } catch (Exception ex) { return(null); } }
public HttpResponseMessage DeleteMenuSetupRole(HttpRequestMessage request, [FromBody] int menuroleId) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; // not that calling the WCF service here will authenticate access to the data MenuRole menurole = _CoreService.GetMenuRole(menuroleId); if (menurole != null) { _CoreService.DeleteMenuRole(menuroleId); response = request.CreateResponse(HttpStatusCode.OK); } else { response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No menurole found under that ID."); } return response; })); }
public bool GetMenuRole(int[] menuIds, int roleId) { return(Function(context => { var data = context.MenuRoles.Where(x => x.RoleId == roleId).ToList(); if (data == null) { foreach (var item in menuIds) { MenuRole menuRole = new MenuRole { MenuId = item, RoleId = roleId }; Create <MenuRole>(menuRole); } return true; } else { context.RemoveRange(context.MenuRoles.Where(x => x.RoleId == roleId)); if (context.SaveChanges() > 0) { foreach (var item in menuIds) { MenuRole menuRole = new MenuRole { MenuId = item, RoleId = roleId }; Create <MenuRole>(menuRole); } } return true; } })); }
public async Task Import功能表角色匯入Async() { var total = sheet.Rows.Length; ShowStatusHandler?.Invoke($""); #region 開始進行 功能表角色 List <MenuRole> foundMenuRoleInsert = new List <MenuRole>(); List <MenuRole> needMenuRoleInsert = new List <MenuRole>(); List <MenuData> needMenuDataInsert = new List <MenuData>(); List <MenuRole> needUpdate = new List <MenuRole>(); var menuRoles = await Context.MenuRole .Include(x => x.MenuData) .ToListAsync(); CleanTrackingHelper.Clean <MenuRole>(Context); CleanTrackingHelper.Clean <MenuData>(Context); #region 讀取要匯入的資料,轉成中間紀錄 List <功能表角色匯入> all功能表角色匯入 = new List <功能表角色匯入>(); for (int i = 2; i <= total; i++) { ShowStatusHandler?.Invoke($"匯入 功能表角色 {i} / {total}"); //角色名稱 名稱 層級 子功能表 排序值 Icon名稱 路由作業 啟用 強制導航 //匯入角色 帳號管理 0 0 20 mdi-clipboard-account MyUser 1 0 var item功能表角色匯入 = new 功能表角色匯入(); item功能表角色匯入.角色名稱 = sheet[i, 1].Value; item功能表角色匯入.稱 = sheet[i, 2].Value; item功能表角色匯入.層級 = sheet[i, 3].Value; item功能表角色匯入.子功能表 = sheet[i, 4].Value; item功能表角色匯入.排序值 = sheet[i, 5].Value; item功能表角色匯入.Icon名稱 = sheet[i, 6].Value; item功能表角色匯入.路由作業 = sheet[i, 7].Value; item功能表角色匯入.啟用 = sheet[i, 8].Value; item功能表角色匯入.強制導航 = sheet[i, 9].Value; all功能表角色匯入.Add(item功能表角色匯入); } #endregion #region 轉換 all功能表角色匯入 成為 MenuData foreach (var item in all功能表角色匯入) { var searchItem = foundMenuRoleInsert.FirstOrDefault(x => x.Name == item.角色名稱); #region 確認與建立 MenuRole if (searchItem == null) { searchItem = new MenuRole() { Name = item.角色名稱, MenuData = new List <MenuData>(), Remark = "", }; foundMenuRoleInsert.Add(searchItem); } #endregion #region 建立 MenuData var itemMenuData = new MenuData() { CodeName = item.路由作業, Enable = item.啟用 == "1" ? true : false, ForceLoad = item.強制導航 == "1" ? true : false, Icon = item.Icon名稱, IsGroup = item.子功能表 == "1" ? true : false, Level = Convert.ToInt32(item.層級), Name = item.稱, Sequence = Convert.ToInt32(item.排序值), }; searchItem.MenuData.Add(itemMenuData); #endregion } #endregion #region 產生要更新資料庫的紀錄 //List<MenuRole> needMenuRoleInsert = new List<MenuRole>(); //List<MenuData> needMenuDataInsert = new List<MenuData>(); CleanTrackingHelper.Clean <MenuRole>(Context); foreach (var item in foundMenuRoleInsert) { var searchItem = await Context.MenuRole .FirstOrDefaultAsync(x => x.Name == item.Name); if (searchItem == null) { await Context.AddAsync(item); await Context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuRole>(Context); CleanTrackingHelper.Clean <MenuData>(Context); } else { foreach (var itemData in item.MenuData) { itemData.MenuRoleId = searchItem.Id; needMenuDataInsert.Add(itemData); } } } if (needMenuDataInsert.Count > 0) { await Context.BulkInsertAsync(needMenuDataInsert); } #endregion CleanTrackingHelper.Clean <MenuRole>(Context); CleanTrackingHelper.Clean <MenuData>(Context); #endregion IsLoad = false; workbook = null; sheet = null; ShowStatusHandler?.Invoke($""); await Task.Yield(); }
public static int InsertMenuRole(MenuRole menuRole) { SqlMenuRoleProvider sqlMenuRoleProvider = new SqlMenuRoleProvider(); return sqlMenuRoleProvider.InsertMenuRole(menuRole); }
private async Task 建立功能表角色與項目清單Async() { #region 建立功能表角色與項目清單 #region 建立功能表角色 CleanTrackingHelper.Clean <MenuRole>(context); #region 開發者功能表角色功能表角色 MenuRole menuRole開發者 = new MenuRole() { Name = MagicHelper.開發者功能表角色, Remark = "" }; context.Add(menuRole開發者); await context.SaveChangesAsync(); #endregion #region 系統管理員功能表角色 MenuRole menuRole系統管理員 = new MenuRole() { Name = MagicHelper.系統管理員功能表角色, Remark = "" }; context.Add(menuRole系統管理員); await context.SaveChangesAsync(); #endregion #region 一般使用者功能表角色 MenuRole menuRole使用者 = new MenuRole() { Name = MagicHelper.使用者功能表角色, Remark = "" }; context.Add(menuRole使用者); await context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuRole>(context); #endregion #endregion #region 建立各角色會用到的功能表清單項目 #region 建立系統管理員角色功能表項目清單 CleanTrackingHelper.Clean <MenuData>(context); int cc = 0; #region 首頁功能名稱 cc += 10; MenuData menuData = new MenuData() { Name = BAL.Helpers.MagicHelper.首頁功能名稱, CodeName = "/", Enable = true, Icon = "mdi-home", IsGroup = false, Level = 0, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 變更密碼 cc += 10; menuData = new MenuData() { Name = BAL.Helpers.MagicHelper.變更密碼, CodeName = "ChangePassword", Enable = true, Icon = "mdi-form-textbox-password", IsGroup = false, Level = 0, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 系統資料管理 子功能表 #region 系統資料管理 子功能表 cc += 10; menuData = new MenuData() { Name = "系統資料管理", CodeName = "", Enable = true, Icon = "mdi-power-plug", IsGroup = true, Level = 0, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 帳號管理功能名稱 cc += 10; menuData = new MenuData() { Name = BAL.Helpers.MagicHelper.帳號管理功能名稱, CodeName = "MyUser", Enable = true, Icon = "mdi-clipboard-account", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 郵件寄送紀錄 cc += 10; menuData = new MenuData() { Name = MagicHelper.郵件寄送紀錄, CodeName = "MailQueue", Enable = true, Icon = "mdi-email-send", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 系統訊息廣播 cc += 10; menuData = new MenuData() { Name = MagicHelper.系統訊息廣播, CodeName = "Broadcast", Enable = true, Icon = "mdi-message-alert", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region App例外異常 cc += 10; menuData = new MenuData() { Name = MagicHelper.App例外異常, CodeName = "ExceptionRecord", Enable = true, Icon = "mdi-message-alert", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #endregion #region 基本資料管理 子功能表 #region 基本資料管理 cc += 10; menuData = new MenuData() { Name = "基本資料管理", CodeName = "", Enable = true, Icon = "mdi-database-cog", IsGroup = true, Level = 0, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 範例程式碼,隱藏其功能表清單 #region 商品管理功能名稱 cc += 10; menuData = new MenuData() { Name = BAL.Helpers.MagicHelper.商品管理功能名稱, CodeName = "Product", Enable = true, Icon = "mdi-lightbulb-group", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #region 商品管理功能名稱 cc += 10; menuData = new MenuData() { Name = BAL.Helpers.MagicHelper.訂單管理功能名稱, CodeName = "Order", Enable = true, Icon = "mdi-lightbulb-group", IsGroup = false, Level = 1, MenuRoleId = menuRole開發者.Id, Sequence = cc, }; context.Add(menuData); #endregion #endregion #endregion await context.SaveChangesAsync(); CleanTrackingHelper.Clean <MenuData>(context); #endregion #region 系統管理員 #region 移除 系統管理員 角色 不需要的 功能表項目清單 CleanTrackingHelper.Clean <MenuData>(context); var defaultMenuData = await context.MenuData .AsNoTracking() .Where(x => x.MenuRoleId == menuRole開發者.Id) .ToListAsync(); #endregion #region 建立 系統管理員 功能表項目清單 foreach (var item in defaultMenuData) { item.Id = 0; item.MenuRoleId = menuRole系統管理員.Id; item.MenuRole = null; } await context.BulkInsertAsync(defaultMenuData); CleanTrackingHelper.Clean <MenuRole>(context); #endregion #endregion #region 一般使用者 #region 移除 一般使用者 角色 不需要的 功能表項目清單 CleanTrackingHelper.Clean <MenuData>(context); defaultMenuData = await context.MenuData .AsNoTracking() .Where(x => x.MenuRoleId == menuRole開發者.Id) .ToListAsync(); defaultMenuData .Remove(defaultMenuData .FirstOrDefault(x => x.Name == "系統資料管理")); defaultMenuData .Remove(defaultMenuData .FirstOrDefault(x => x.Name == "基本資料管理")); defaultMenuData .Remove(defaultMenuData .FirstOrDefault(x => x.Name == "檢核計畫")); #endregion #region 建立 一般使用者 功能表項目清單 foreach (var item in defaultMenuData) { item.Id = 0; item.MenuRoleId = menuRole使用者.Id; item.MenuRole = null; } await context.BulkInsertAsync(defaultMenuData); CleanTrackingHelper.Clean <MenuRole>(context); #endregion #endregion #endregion #endregion }
public override void RegisterModule() { ExecuteFaultHandledOperation(() => { ISolutionRepository solutionRepository = _DataRepositoryFactory.GetDataRepository <ISolutionRepository>(); systemCoreData.IModuleRepository moduleRepository = _DataRepositoryFactory.GetDataRepository <systemCoreData.IModuleRepository>(); IMenuRepository menuRepository = _DataRepositoryFactory.GetDataRepository <IMenuRepository>(); IRoleRepository roleRepository = _DataRepositoryFactory.GetDataRepository <IRoleRepository>(); IMenuRoleRepository menuRoleRepository = _DataRepositoryFactory.GetDataRepository <IMenuRoleRepository>(); using (TransactionScope ts = new TransactionScope()) { //check if module has been installed systemCoreEntities.Module module = moduleRepository.Get().Where(c => c.Name == OpexModuleDefinition.MODULE_NAME).FirstOrDefault(); var register = false; if (module == null) { register = true; } else { register = module.CanUpdate; } if (register) { //check if module category exit Solution solution = solutionRepository.Get().Where(c => c.Name == OpexModuleDefinition.SOLUTION_NAME).FirstOrDefault(); if (solution == null) { //register solution solution = new Solution() { Name = OpexModuleDefinition.SOLUTION_NAME, Alias = OpexModuleDefinition.SOLUTION_ALIAS, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }; solution = solutionRepository.Add(solution); } //register module if (module == null) { module = new systemCoreEntities.Module() { Name = OpexModuleDefinition.MODULE_NAME, Alias = OpexModuleDefinition.MODULE_ALIAS, SolutionId = solution.EntityId, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }; module = moduleRepository.Add(module); } //Roles var existingRoles = roleRepository.Get().Where(c => c.SolutionId == solution.SolutionId && c.Type == RoleType.Application).ToList(); //var updatedRoles = new List<Role>(); //foreach (var role in OpexModuleDefinition.GetRoles()) //{ // var localRole = existingRoles.Where(c => c.Name == role.Name).FirstOrDefault(); // if (localRole == null) // { // localRole = new Role() { Name = role.Name, Description = role.Description, SolutionId = solution.SolutionId, Type = RoleType.Application, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }; // localRole = roleRepository.Add(localRole); // } // else // { // localRole.Description = role.Description; // localRole.UpdatedOn = DateTime.Now; // localRole = roleRepository.Update(localRole); // } // updatedRoles.Add(localRole); //} //Menus var existingMenus = menuRepository.Get().Where(c => c.ModuleId == module.ModuleId).ToList(); var updatedMenus = new List <Menu>(); var menuIndex = 0; foreach (var menu in OpexModuleDefinition.GetMenus()) { menuIndex += 1; Menu parentMenu = null; int?parentId = null; if (!string.IsNullOrEmpty(menu.Parent)) { if (string.IsNullOrEmpty(menu.ParentModule)) { parentMenu = existingMenus.Where(c => c.Name == menu.Parent).FirstOrDefault(); if (parentMenu == null) { parentMenu = menuRepository.Get().Where(c => c.ModuleId == module.ModuleId && c.Name == menu.Parent).FirstOrDefault(); } } else { var parentModule = moduleRepository.Get().Where(c => c.Name == menu.ParentModule).FirstOrDefault(); if (parentModule != null) { parentMenu = menuRepository.Get().Where(c => c.ModuleId == parentModule.ModuleId && c.Name == menu.Parent).FirstOrDefault(); } } if (parentMenu != null) { parentId = parentMenu.MenuId; } } var localMenu = existingMenus.Where(c => c.Name == menu.Name).FirstOrDefault(); if (localMenu == null) { localMenu = new Menu() { Name = menu.Name, Alias = menu.Alias, Action = menu.Action, ActionUrl = menu.ActionUrl, ImageUrl = menu.ImageUrl, ModuleId = module.ModuleId, Position = menuIndex, ParentId = parentId, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }; localMenu = menuRepository.Add(localMenu); } else { localMenu.Alias = menu.Alias; localMenu.Action = menu.Action; localMenu.ActionUrl = menu.ActionUrl; localMenu.ImageUrl = menu.ImageUrl; localMenu.ModuleId = module.ModuleId; localMenu.Position = menuIndex; localMenu.ParentId = parentId; localMenu.UpdatedOn = DateTime.Now; localMenu = menuRepository.Update(localMenu); } updatedMenus.Add(localMenu); } //MenuRoles var menuIds = updatedMenus.Select(c => c.MenuId).Distinct().ToArray(); var existingMenuRoles = menuRoleRepository.Get().Where(c => menuIds.Contains(c.MenuId)).ToList(); foreach (var menuRole in OpexModuleDefinition.GetMenuRoles()) { var myMenu = updatedMenus.Where(c => c.Name == menuRole.MenuName).FirstOrDefault(); var myRole = existingRoles.Where(c => c.Name == menuRole.RoleName).FirstOrDefault(); var localMenuRole = existingMenuRoles.Where(c => c.MenuId == myMenu.MenuId && c.RoleId == myRole.RoleId).FirstOrDefault(); if (localMenuRole == null) { localMenuRole = new MenuRole() { MenuId = myMenu.MenuId, RoleId = myRole.RoleId, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }; menuRoleRepository.Add(localMenuRole); } else { localMenuRole.MenuId = myMenu.MenuId; localMenuRole.RoleId = myRole.RoleId; localMenuRole.UpdatedOn = DateTime.Now; menuRoleRepository.Update(localMenuRole); } } } ts.Complete(); } }); }
public static bool UpdateMenuRole(MenuRole menuRole) { SqlMenuRoleProvider sqlMenuRoleProvider = new SqlMenuRoleProvider(); return sqlMenuRoleProvider.UpdateMenuRole(menuRole); }
protected void btnRoleWisePageNMenuAccess_Click(object sender, EventArgs e) { string loginID = "1"; try { if (Session["Login"] == null) { Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx"); } loginID = ((Login)Session["Login"]).LoginID.ToString(); } catch (Exception ex) { } RoleManager.DeleteModuleMenuPageButtonRole(int.Parse(ddlRole.SelectedValue)); int resutl = 0; foreach (GridViewRow grModule in gvModule.Rows) { CheckBox chkSelect = (CheckBox)grModule.FindControl("chkSelect"); if (chkSelect.Checked) { ModuleRole moduleRole = new ModuleRole(); moduleRole.ModuleID = Int32.Parse(chkSelect.ToolTip); moduleRole.RoleID = Int32.Parse(ddlRole.SelectedValue); moduleRole.AddedDate = DateTime.Now; moduleRole.AddedBy = loginID; moduleRole.ModifyDate = DateTime.Now; moduleRole.ModifyBy = loginID; moduleRole.RowStatusID = 1; resutl = ModuleRoleManager.InsertModuleRole(moduleRole); GridView gvPagenMenu = (GridView)grModule.FindControl("gvPagenMenu"); foreach (GridViewRow grPageNMenu in gvPagenMenu.Rows) { CheckBox chkSelectPageNMenu = (CheckBox)grPageNMenu.FindControl("chkSelectPageNMenu"); if (chkSelectPageNMenu.Checked) { PageRole pageRole = new PageRole(); pageRole.PageID = Int32.Parse(chkSelectPageNMenu.ToolTip); pageRole.RoleID = Int32.Parse(ddlRole.SelectedValue); pageRole.AddedDate = DateTime.Now; pageRole.AddedBy = loginID; pageRole.ModifyDate = DateTime.Now; pageRole.ModifyBy = loginID; pageRole.RowStatusID = 1; resutl = PageRoleManager.InsertPageRole(pageRole); if (chkSelectPageNMenu.ValidationGroup != "0") { MenuRole menuRole = new MenuRole(); menuRole.MenuID = Int32.Parse(chkSelectPageNMenu.ValidationGroup); menuRole.RoleID = Int32.Parse(ddlRole.SelectedValue); menuRole.AddedDate = DateTime.Now; menuRole.AddedBy = loginID; menuRole.ModifyDate = DateTime.Now; menuRole.ModifyBy = loginID; menuRole.RowStatusID = 1; resutl = MenuRoleManager.InsertMenuRole(menuRole); } DataList dlButton = (DataList)grPageNMenu.FindControl("dlButton"); foreach (DataListItem dliButton in dlButton.Items) { CheckBox chkSelectButton = (CheckBox)dliButton.FindControl("chkSelectButton"); if (chkSelectButton.Checked) { ButtonRole buttonRole = new ButtonRole(); buttonRole.RoleID = Int32.Parse(ddlRole.SelectedValue); buttonRole.ButtonID = Int32.Parse(chkSelectButton.ToolTip); buttonRole.AddedDate = DateTime.Now; buttonRole.AddedBy = loginID; buttonRole.ModifyDate = DateTime.Now; buttonRole.ModifyBy = loginID; buttonRole.RowStatusID = 1; resutl = ButtonRoleManager.InsertButtonRole(buttonRole); } } } } } { GridView gvPagenMenu = (GridView)grModule.FindControl("gvPagenMenu"); foreach (GridViewRow grPageNMenu in gvPagenMenu.Rows) { CheckBox chkSelectPageNMenu = (CheckBox)grPageNMenu.FindControl("chkSelectPageNMenu"); if (!chkSelectPageNMenu.Checked) { DataList dlButton = (DataList)grPageNMenu.FindControl("dlButton"); foreach (DataListItem dliButton in dlButton.Items) { CheckBox chkSelectButton = (CheckBox)dliButton.FindControl("chkSelectButton"); if (chkSelectButton.Checked) { ButtonRole buttonRole = new ButtonRole(); buttonRole.RoleID = Int32.Parse(ddlRole.SelectedValue); buttonRole.ButtonID = Int32.Parse(chkSelectButton.ToolTip); buttonRole.AddedDate = DateTime.Now; buttonRole.AddedBy = loginID; buttonRole.ModifyDate = DateTime.Now; buttonRole.ModifyBy = loginID; buttonRole.RowStatusID = 1; resutl = ButtonRoleManager.InsertButtonRole(buttonRole); } } } } } } Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri); }
public MenuRole GetMenuRoleFromReader(IDataReader reader) { try { MenuRole menuRole = new MenuRole ( (int)reader["MenuRoleID"], (int)reader["MenuID"], (int)reader["RoleID"], (DateTime)reader["AddedDate"], reader["AddedBy"].ToString(), (DateTime)reader["ModifyDate"], reader["ModifyBy"].ToString(), (int)reader["RowStatusID"] ); return menuRole; } catch(Exception ex) { return null; } }
public bool UpdateMenuRole(MenuRole menuRole) { using (SqlConnection connection = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("Login_UpdateMenuRole", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MenuRoleID", SqlDbType.Int).Value = menuRole.MenuRoleID; cmd.Parameters.Add("@MenuID", SqlDbType.Int).Value = menuRole.MenuID; cmd.Parameters.Add("@RoleID", SqlDbType.Int).Value = menuRole.RoleID; cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = menuRole.AddedDate; cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = menuRole.AddedBy; cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = menuRole.ModifyDate; cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = menuRole.ModifyBy; cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = menuRole.RowStatusID; connection.Open(); int result = cmd.ExecuteNonQuery(); return result == 1; } }
public MenuRole UpdateMenuRole(MenuRole menuRole) { return(Channel.UpdateMenuRole(menuRole)); }