private static void LoadMenuLeft(ActionExecutingContext filterContext) { string ActionName = filterContext.RouteData.Values["action"].ToString(); string ControllerName = filterContext.RouteData.Values["controller"].ToString(); string AreaName = filterContext.RouteData.DataTokens["area"] != null ? filterContext.RouteData.DataTokens["area"].ToString() : ""; int?GroupId = int.Parse(Auth.GetCookie("DGroupId")) as int?; DBAdmin db = new DBAdmin(); tbMenu root = db.tbMenus.Where(p => p.MenuName == "Root").FirstOrDefault(); List <tbMenuInGroup> ListMenu = new List <tbMenuInGroup>(); if (root != null) { List <tbMenu> ListT = db.tbMenus.Where(p => p.IdRoot == root.tbMenuId && p.IsDisable == false && p.IsMenu == true).OrderBy(x => x.Order).ToList(); if (ListT != null) { ListT.ForEach(x => ListMenu.Add(new tbMenuInGroup(x, GroupId.Value))); } } filterContext.Controller.ViewBag.ListMenu = ListMenu; }
private void ComplementaPerfilAcessoMenu(int intCodigoPerfilAcesso, tbMenu objMenu, ref List <tbPerfilAcessoMenu> arrPerfilAcessoMenu) { while (true) { if (objMenu.men_codigoPai == null) { return; } var objMenuMatriz = _objCtx.tbMenu.AsNoTracking().FirstOrDefault(men => men.men_status && men.men_codigo == objMenu.men_codigoPai); var objPerfilAcessoMenu = arrPerfilAcessoMenu.FirstOrDefault(pem => objMenuMatriz != null && pem.men_codigo == objMenuMatriz.men_codigo); if (objPerfilAcessoMenu == null) { if (objMenuMatriz == null) { return; } arrPerfilAcessoMenu.Add(new tbPerfilAcessoMenu { pac_codigo = intCodigoPerfilAcesso, men_codigo = Convert.ToInt32(objMenuMatriz.men_codigo), pam_permiteAlteracao = true, pam_permiteExclusao = true, pam_permiteInclusao = true, pam_permiteVisualizacao = true, pam_toolBar = false, tbMenu = objMenuMatriz }); objMenu = objMenuMatriz; } else { objMenu = objPerfilAcessoMenu.tbMenu; } } }
public static string AddMenu(string Menustr) { string str = string.Empty; try { tbMenu tb = JsonConvert.DeserializeObject <tbMenu>(Menustr); tbMenu newtb = new tbMenu() { Code = tb.Code, CreateTime = DateTime.Now, LinkAddress = tb.LinkAddress, CreateBy = tb.CreateBy, Icon = tb.Icon, Name = tb.Name, ParentId = tb.ParentId, Sort = tb.Sort, UpdateBy = tb.CreateBy, UpdateTime = DateTime.Now }; AchieveDBEntities myDbContext = new AchieveDBEntities(); myDbContext.tbMenu.Add(newtb); myDbContext.SaveChanges(); str = ResponseHelper.ResponseMsg("1", "取数成功", ""); } catch (Exception ex) { str = ResponseHelper.ResponseMsg("-1", ex.Message, ""); } return(str); }
public JsonResult UpdateMenuOneBool(int menuid, bool val, string strtype) { tbMenu tbMenu = db.tbMenus.Where(x => x.tbMenuId == menuid).FirstOrDefault(); if (tbMenu == null) { return(Json(new { result = false, msg = "Menu không còn tồn tại >.<" })); } else { switch (strtype) { case "ctrl": tbMenu.IsController = val; break; case "mn": tbMenu.IsMenu = val; break; case "dis": tbMenu.IsDisable = val; break; default: return(Json(new { result = false, msg = "Lỗi không xác định. Cập nhật dữ liệu thất bại!" })); } db.SaveChanges(); return(Json(new { result = val, msg = "Đã update \"" + tbMenu.MenuName + "[" + strtype + "]\"" })); } }
public static string UpdateMenu(string Menustr) { string str = string.Empty; try { tbMenu tb = JsonConvert.DeserializeObject <tbMenu>(Menustr); AchieveDBEntities myDbContext = new AchieveDBEntities(); tbMenu data = myDbContext.tbMenu.Where(p => p.Id == tb.Id).FirstOrDefault(); data.Code = tb.Code; data.LinkAddress = tb.LinkAddress; data.Icon = tb.Icon; data.Name = tb.Name; data.ParentId = tb.ParentId; data.Sort = tb.Sort; data.UpdateBy = tb.UpdateBy; data.UpdateTime = DateTime.Now; myDbContext.SaveChanges(); str = ResponseHelper.ResponseMsg("1", "更新成功", ""); } catch (Exception ex) { str = ResponseHelper.ResponseMsg("-1", ex.Message, ""); } return(str); }
public static string GetMenuById(int Id) { string str = string.Empty; try { IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; tbMenu temp = new tbMenu(); AchieveDBEntities myDbContext = new AchieveDBEntities(); List <tbMenu> templist = myDbContext.tbMenu.Where(p => p.Id == Id).ToList(); if (templist != null && templist.Count > 0) { temp = templist[0]; str = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat); str = ResponseHelper.ResponseMsg("1", "取数成功", str); } else { str = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat); str = ResponseHelper.ResponseMsg("-1", "菜单不存在", str); } } catch (Exception ex) { str = ResponseHelper.ResponseMsg("-1", ex.Message, ""); } return(str); }
public void PreparaTelaPrincipal() { //Construindo o Menu List <tbMenu> arrMenuAux = new List <tbMenu>(); foreach (tbMenu objMenu in FrameworkUtil.objConfigStorage.objPerfilAcesso.tbPerfilAcessoMenu .Where(pam => pam.pam_permiteVisualizacao == true && pam.tbMenu.men_codigoPai == null) .Select(pam => pam.tbMenu).OrderBy(men => men.men_ordem)) { tbMenu objMenuItem = new tbMenu() { men_imagem = objMenu.men_imagem, men_cabecalho = objMenu.men_cabecalho, men_nomeControle = objMenu.men_nomeControle }; AgrupaMenuItem(ref objMenuItem, objMenu.men_codigo); arrMenuAux.Add(objMenuItem); } arrMenu = new List <tbMenu>(arrMenuAux); //Construindo a ToolBar List <tbMenu> arrToolBarAux = new List <tbMenu>(); foreach (tbMenu objToolBar in FrameworkUtil.objConfigStorage.objPerfilAcesso.tbPerfilAcessoMenu .Where(pam => pam.pam_toolBar == true && pam.tbMenu.men_nomeControle != null && pam.pam_permiteVisualizacao == true).Select(per => per.tbMenu)) { arrToolBarAux.Add(new tbMenu() { men_imagem = objToolBar.men_imagem, men_cabecalho = objToolBar.men_cabecalho, men_nomeControle = objToolBar.men_nomeControle }); } //Adicionaodo o botão para sair arrToolBarAux.Add(new tbMenu() { men_imagem = "../Imagens/Menu/50.png", men_cabecalho = "Sair", men_nomeControle = "SairViewModel" }); arrToolBar = new List <tbMenu>(arrToolBarAux); //Construindo a StatusBar strFuncionario = FrameworkUtil.objConfigStorage.objFuncionario.fun_nome; strVersao = FrameworkUtil.RetornaVersao(); strEmpresa = FrameworkUtil.objConfigStorage.objEmpresa.emp_nomeFantasia; strData = DateTime.Now.ToString("dd/MM/yyyy"); //Verificando a existencia dos arquivos da logo if (FrameworkUtil.objConfigStorage.objEmpresa.emp_logoFormato != null) { string[] arrCaminhoArquivo = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "logo.*", SearchOption.AllDirectories).ToArray(); for (int i = 0; i < arrCaminhoArquivo.Length; i++) { File.Delete(arrCaminhoArquivo[i]); } if (FrameworkUtil.objConfigStorage.objEmpresa.emp_logo != null) { File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "logo" + FrameworkUtil.objConfigStorage.objEmpresa.emp_logoFormato, FrameworkUtil.objConfigStorage.objEmpresa.emp_logo); } } }
public ActionResult DeleteConfirmed(int id) { tbMenu tbMenu = db.tbMenus.Find(id); db.tbMenus.Remove(tbMenu); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "tbMenuId,MenuName,Controller,Action,Area,QueryString,ClassIcon,Order,IsController,IsMenu,IdRoot,IsDisable")] tbMenu tbMenu) { if (ModelState.IsValid) { db.Entry(tbMenu).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IdRoot = new SelectList(db.tbMenus, "tbMenuId", "MenuName", tbMenu.IdRoot); return(View("__Cms/Menus/Edit", tbMenu)); }
public ActionResult SortMenu() { tbMenu root = db.tbMenus.Where(p => p.MenuName == "Root").FirstOrDefault(); List <tbMenu> ListMenu = new List <tbMenu>(); if (root != null) { ListMenu = db.tbMenus.Where(p => p.IdRoot == root.tbMenuId && p.IsDisable == false && p.IsMenu == true).OrderBy(x => x.Order).ToList(); } return(View("__Cms/Menus/SortMenu", ListMenu)); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbMenu tbMenu = db.tbMenus.Find(id); if (tbMenu == null) { return(HttpNotFound()); } return(View("__Cms/Menus/Delete", tbMenu)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } tbMenu tbMenu = db.tbMenus.Find(id); if (tbMenu == null) { return(HttpNotFound()); } ViewBag.IdRoot = new SelectList(db.tbMenus, "tbMenuId", "MenuName", tbMenu.IdRoot); return(View("__Cms/Menus/Edit", tbMenu)); }
private void DeleleRecursion_tbMenu(DBAdmin db, tbMenu rd) { List <tbMenu> arrmenu = db.tbMenus.Where(x => x.IdRoot == rd.tbMenuId).ToList(); if (arrmenu.Count() > 0) { foreach (var c in arrmenu) { this.DeleleRecursion_tbMenu(db, c); } } db.tbMenus.Remove(rd); db.SaveChanges(); }
private void AgrupaMenuItem(ref tbMenu objMenuItem, int intCodigoMenu) { foreach (tbMenu objMenu in FrameworkUtil.objConfigStorage.objPerfilAcesso.tbPerfilAcessoMenu .Where(pam => pam.tbMenu.men_codigoPai == intCodigoMenu) .Select(pam => pam.tbMenu).OrderBy(men => men.men_ordem)) { tbMenu objMenuAux = new tbMenu() { men_imagem = objMenu.men_imagem, men_cabecalho = objMenu.men_cabecalho, men_nomeControle = objMenu.men_nomeControle }; AgrupaMenuItem(ref objMenuAux, objMenu.men_codigo); if (objMenuItem.tbMenuFilho == null) { objMenuItem.tbMenuFilho = new List <tbMenu>(); } objMenuItem.tbMenuFilho.Add(objMenuAux); } }
private void UpdateRecursion_tbMenu(dataAjaxtSort rd, int idroot) { tbMenu tbMenu = db.tbMenus.Where(x => x.tbMenuId == rd.id).FirstOrDefault(); if (tbMenu != null) { tbMenu.IdRoot = idroot; tbMenu.Order = sortid; db.SaveChanges(); sortid++; if (rd.children != null) { foreach (dataAjaxtSort c in rd.children) { UpdateRecursion_tbMenu(c, tbMenu.tbMenuId); } } } }
public JsonResult SortMenu(string dataAjax) { try { List <dataAjaxtSort> data = new JavaScriptSerializer().Deserialize <List <dataAjaxtSort> >(dataAjax); tbMenu root = db.tbMenus.Where(p => p.MenuName == "Root").FirstOrDefault(); if (root != null) { foreach (dataAjaxtSort c in data) { UpdateRecursion_tbMenu(c, root.tbMenuId); } } return(Json(new { result = true, msg = "Cập nhật dữ liệu Thành Công :) " })); } catch { return(Json(new { result = false, msg = "Cập nhật dữ liệu thất bại!" })); } }
public static void SetParentNode(AchieveDBEntities myDbContext, int MenuId, int roleId, List <int> addlist) { tbMenu temp = myDbContext.tbMenu.Where(p => p.Id == MenuId).FirstOrDefault(); if (temp != null) { int DataCount = myDbContext.tbRoleMenu.Where(p => p.MenuId == MenuId && p.RoleId == roleId).Count <tbRoleMenu>(); int addCount = 1; if (addlist != null) { foreach (int st in addlist) { if (MenuId == st) { addCount = 0; break; } } } if (DataCount <= 0 && addCount == 1) { tbRoleMenu tbnew = new tbRoleMenu() { MenuId = MenuId, RoleId = roleId }; myDbContext.tbRoleMenu.Add(tbnew); addlist.Add(MenuId); if (temp.ParentId == null) { } else { SetParentNode(myDbContext, Convert.ToInt32(temp.ParentId), roleId, addlist); } } } }
public ActionResult UpdateMenuOneName(int pk, string value, string name) { tbMenu tbMenu = db.tbMenus.Where(x => x.tbMenuId == pk).FirstOrDefault(); if (tbMenu == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, string.Format("Menu không tồn tại"))); } else { try { tbMenu.MenuName = value; db.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK)); } catch (DbEntityValidationException ex) { var error = ex.EntityValidationErrors.First().ValidationErrors.First(); //this.ModelState.AddModelError(error.PropertyName, error.ErrorMessage); return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, error.ErrorMessage)); } } }
public ActionResult MenuCreate() { List <tbGroupMenu> arrper = db.tbGroupMenus.ToList(); foreach (tbGroupMenu item in arrper) { db.tbGroupMenus.Remove(item); } db.SaveChanges(); List <tbMenu> arrmenu = db.tbMenus.Where(p => p.IdRoot == null).ToList(); foreach (tbMenu item in arrmenu) { DeleleRecursion_tbMenu(db, item); } db.SaveChanges(); tbMenu tbMenuRoot = new tbMenu(); tbMenuRoot.MenuName = "Root"; // Cpanel tbMenuRoot.IsController = false; tbMenuRoot.IsMenu = false; db.tbMenus.Add(tbMenuRoot); db.SaveChanges(); Dictionary <Type, IEnumerable <MethodInfo> > Ctrl = GetMvcActionMethods(); foreach (KeyValuePair <Type, IEnumerable <MethodInfo> > i in Ctrl) { string[] arr = i.Key.ToString().Split('.'); string controller = arr[arr.Length - 1].Replace("Controller", ""); string area = arr[1] == "Areas" ? arr[2] : null; if (controller == "Error") { continue; } tbMenu tbMenuNew = new tbMenu(); tbMenuNew.MenuName = controller; // Cpanel tbMenuNew.Controller = controller; tbMenuNew.Area = area; tbMenuNew.ClassIcon = "fa fa-folder-open"; tbMenuNew.IsController = true; tbMenuNew.IsMenu = area == null?false:true; tbMenuNew.IdRoot = tbMenuRoot.tbMenuId; db.tbMenus.Add(tbMenuNew); db.SaveChanges(); foreach (MethodInfo j in i.Value.ToList()) { tbMenu checkmenu = db.tbMenus.Where(p => p.Controller == controller && p.Action == j.Name && p.Area == area).FirstOrDefault(); if (checkmenu != null) { continue; } tbMenu tbNew = new tbMenu(); tbNew.MenuName = j.Name; // Cpanel-Index tbNew.Controller = controller; tbNew.Action = j.Name; tbNew.Area = area; tbNew.IsController = false; tbNew.IsMenu = area == null ? false : true; if (j.Name == "Details" || j.Name == "Edit" || j.Name == "Delete" || j.Name == "DeleteConfirmed") { tbNew.IsMenu = false; } tbNew.IdRoot = tbMenuNew.tbMenuId; db.tbMenus.Add(tbNew); db.SaveChanges(); } } if (!DConfig.IsCheck) { DConfig.SetValue("DateCreateMenu", DateTime.Now.ToString()); } else { DConfig.SetValue("DateModifyMenu", DateTime.Now.ToString()); } return(RedirectToAction("Index", "Menus")); }