public void Insert(MenusInfo model) { if (!list.Contains(model)) { list.Add(model); } }
public int Insert(MenusInfo model) { StringBuilder sb = new StringBuilder(250); sb.Append(@"insert into Menus (ApplicationId,ParentId,IdStep,Title,Url,Descr,AllowRoles,DenyUsers,Sort,LastUpdatedDate) values (@ApplicationId,@ParentId,@IdStep,@Title,@Url,@Descr,@AllowRoles,@DenyUsers,@Sort,@LastUpdatedDate) " ); SqlParameter[] parms = { new SqlParameter("@ApplicationId", SqlDbType.UniqueIdentifier), new SqlParameter("@ParentId", SqlDbType.UniqueIdentifier), new SqlParameter("@IdStep", SqlDbType.VarChar, 1000), new SqlParameter("@Title", SqlDbType.NVarChar, 20), new SqlParameter("@Url", SqlDbType.VarChar, 256), new SqlParameter("@Descr", SqlDbType.NVarChar, 50), new SqlParameter("@AllowRoles", SqlDbType.NVarChar, 1000), new SqlParameter("@DenyUsers", SqlDbType.NVarChar, 1000), new SqlParameter("@Sort", SqlDbType.Int), new SqlParameter("@LastUpdatedDate", SqlDbType.DateTime) }; parms[0].Value = model.ApplicationId; parms[1].Value = model.ParentId; parms[2].Value = model.IdStep; parms[3].Value = model.Title; parms[4].Value = model.Url; parms[5].Value = model.Descr; parms[6].Value = model.AllowRoles; parms[7].Value = model.DenyUsers; parms[8].Value = model.Sort; parms[9].Value = model.LastUpdatedDate; return(SqlHelper.ExecuteNonQuery(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), parms)); }
public IList <MenusInfo> GetList(int pageIndex, int pageSize, out int totalRecords, string sqlWhere, params SqlParameter[] cmdParms) { StringBuilder sb = new StringBuilder(500); sb.Append(@"select count(*) from Menus "); if (!string.IsNullOrEmpty(sqlWhere)) { sb.AppendFormat(" where 1=1 {0} ", sqlWhere); } totalRecords = (int)SqlHelper.ExecuteScalar(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), cmdParms); if (totalRecords == 0) { return(new List <MenusInfo>()); } sb.Clear(); int startIndex = (pageIndex - 1) * pageSize + 1; int endIndex = pageIndex * pageSize; sb.Append(@"select * from(select row_number() over(order by Sort) as RowNumber, ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,AllowRoles,DenyUsers,Sort,LastUpdatedDate from Menus " ); if (!string.IsNullOrEmpty(sqlWhere)) { sb.AppendFormat(" where 1=1 {0} ", sqlWhere); } sb.AppendFormat(@")as objTable where RowNumber between {0} and {1} ", startIndex, endIndex); IList <MenusInfo> list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), cmdParms)) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.ApplicationId = reader.GetGuid(1); model.Id = reader.GetGuid(2); model.ParentId = reader.GetGuid(3); model.IdStep = reader.GetString(4); model.Title = reader.GetString(5); model.Url = reader.GetString(6); model.Descr = reader.GetString(7); model.AllowRoles = reader.GetString(8); model.DenyUsers = reader.GetString(9); model.Sort = reader.GetInt32(10); model.LastUpdatedDate = reader.GetDateTime(11); list.Add(model); } } } return(list); }
public void Update(MenusInfo model) { int i = list.FindIndex(delegate(MenusInfo m) { return(m.Id == model.Id); }); if (i >= 0) { list.IndexOf(model, i); } }
public IList <MenusInfo> GetListForMenuAccess(object allowRoleId, object denyUserId, string sqlWhere, params SqlParameter[] cmdParms) { var roleMenuIndex = string.Format("CHARINDEX('{0}',OperationAccess) IsAdd,CHARINDEX('{1}',OperationAccess) IsEdit,CHARINDEX('{2}',OperationAccess) IsDelete ", (int)EnumData.EnumOperationAccess.新增, (int)EnumData.EnumOperationAccess.编辑, (int)EnumData.EnumOperationAccess.除); StringBuilder sb = new StringBuilder(250); sb.AppendFormat(@"select Id,ParentId,Title,Url,Descr,CHARINDEX('{0}',AllowRoles) IsAllowRole,CHARINDEX('{1}',DenyUsers) IsDenyUser {2} from Menus m " , allowRoleId, denyUserId, "," + roleMenuIndex + ""); if (allowRoleId != null) { sb.AppendFormat("left join RoleMenu on m.Id = MenuId and RoleId = '{0}' ", allowRoleId); } else { sb.AppendFormat("left join UserMenu on m.Id = MenuId and UserId = '{0}' ", denyUserId); } if (!string.IsNullOrEmpty(sqlWhere)) { sb.AppendFormat(" where 1=1 {0} ", sqlWhere); } sb.Append("order by Sort "); IList <MenusInfo> list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), cmdParms)) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.Id = reader.GetGuid(0); model.ParentId = reader.GetGuid(1); model.Title = reader.GetString(2); model.Url = reader.GetString(3); model.Descr = reader.GetString(4); var isAllowRole = reader.GetInt32(5); var isDenyUser = reader.GetInt32(6); model.IsView = isAllowRole > 0; if (isDenyUser > 0) { model.IsView = false; } model.IsAdd = reader.IsDBNull(7) ? false : reader.GetInt32(7) > 0; model.IsEdit = reader.IsDBNull(8) ? false : reader.GetInt32(8) > 0; model.IsDelete = reader.IsDBNull(9) ? false : reader.GetInt32(9) > 0; list.Add(model); } } } return(list); }
public ResResultModel SaveMenus(MenusModel model) { try { if (model == null) { return(ResResult.Response(false, "未获取到任何参数")); } if (string.IsNullOrWhiteSpace(model.Title)) { return(ResResult.Response(false, "菜单名称不能为空字符串")); } var Id = Guid.Empty; var parentId = Guid.Empty; if (model.Id != null && !string.IsNullOrWhiteSpace(model.Id.ToString())) { Guid.TryParse(model.Id.ToString(), out Id); } if (model.ParentId != null && !string.IsNullOrWhiteSpace(model.ParentId.ToString())) { Guid.TryParse(model.ParentId.ToString(), out parentId); } var appBll = new Application(); var appId = appBll.GetApplicationId(Membership.ApplicationName); var bll = new Menus(); int effect = 0; var modelInfo = new MenusInfo(Guid.Parse(appId.ToString()), Id, parentId, model.IdStep, model.Title, model.Url, model.Descr, "*", "", model.Sort, DateTime.Now); if (Id.Equals(Guid.Empty)) { modelInfo.Id = Guid.NewGuid(); modelInfo.IdStep = (modelInfo.Id + "," + modelInfo.IdStep).Trim(','); effect = bll.InsertByOutput(modelInfo); } else { effect = bll.Update(modelInfo); } if (effect < 1) { return(ResResult.Response(false, "操作失败,数据库操作异常")); } return(ResResult.Response(true, "操作成功", modelInfo.Id)); } catch (Exception ex) { return(ResResult.Response(false, "操作异常:" + ex.Message + "")); } }
public IList <MenusInfo> GetListByParentName(string parentName) { StringBuilder sb = new StringBuilder(500); sb.Append(@"select m.ApplicationId,m.Id,m.ParentId,m.IdStep,m.Title,m.Url,m.Descr,m.AllowRoles,m.DenyUsers,m.Sort,m.LastUpdatedDate from Menus m join Menus m2 on CHARINDEX(convert(varchar(36),m2.Id),m.IdStep) > 0 and m2.Title = @Title order by m.Sort "); SqlParameter[] parms = { new SqlParameter("@Title", SqlDbType.NVarChar, 20) }; parms[0].Value = parentName; var list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), parms)) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.ApplicationId = reader.GetGuid(0); model.Id = reader.GetGuid(1); model.ParentId = reader.GetGuid(2); model.IdStep = reader.GetString(3); model.Title = reader.GetString(4); model.Url = reader.GetString(5); model.Descr = reader.GetString(6); model.AllowRoles = reader.GetString(7); model.DenyUsers = reader.GetString(8); model.Sort = reader.GetInt32(9); model.LastUpdatedDate = reader.GetDateTime(10); list.Add(model); } } } return(list); }
public IList <MenusInfo> GetList(string sqlWhere, params SqlParameter[] cmdParms) { StringBuilder sb = new StringBuilder(500); sb.Append(@"select ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,AllowRoles,DenyUsers,Sort,LastUpdatedDate from Menus "); if (!string.IsNullOrEmpty(sqlWhere)) { sb.AppendFormat(" where 1=1 {0} ", sqlWhere); } sb.Append("order by Sort "); IList <MenusInfo> list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), cmdParms)) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.ApplicationId = reader.GetGuid(0); model.Id = reader.GetGuid(1); model.ParentId = reader.GetGuid(2); model.IdStep = reader.GetString(3); model.Title = reader.GetString(4); model.Url = reader.GetString(5); model.Descr = reader.GetString(6); model.AllowRoles = reader.GetString(7); model.DenyUsers = reader.GetString(8); model.Sort = reader.GetInt32(9); model.LastUpdatedDate = reader.GetDateTime(10); list.Add(model); } } } return(list); }
public MenusInfo GetModel(Guid id) { MenusInfo model = null; StringBuilder sb = new StringBuilder(300); sb.Append(@"select top 1 ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,AllowRoles,DenyUsers,Sort,LastUpdatedDate from Menus where Id = @Id " ); SqlParameter[] parms = { new SqlParameter("@Id", SqlDbType.UniqueIdentifier) }; parms[0].Value = id; using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString(), parms)) { if (reader != null) { if (reader.Read()) { model = new MenusInfo(); model.ApplicationId = reader.GetGuid(0); model.Id = reader.GetGuid(1); model.ParentId = reader.GetGuid(2); model.IdStep = reader.GetString(3); model.Title = reader.GetString(4); model.Url = reader.GetString(5); model.Descr = reader.GetString(6); model.AllowRoles = reader.GetString(7); model.DenyUsers = reader.GetString(8); model.Sort = reader.GetInt32(9); model.LastUpdatedDate = reader.GetDateTime(10); } } } return(model); }
protected override SiteMapNode GetRootNodeCore() { MenusInfo rootNode = null; if (HttpContext.Current.User.Identity.IsAuthenticated) { rootNode = list.FirstOrDefault(m => m.Title == EnumData.EnumMenuName.首页.ToString() && !m.Url.Contains(FormsAuthentication.DefaultUrl.Replace("~", ""))); } else { rootNode = list.FirstOrDefault(m => m.Url.Contains(FormsAuthentication.DefaultUrl.Replace("~", ""))); } if (rootNode == null) { throw new Exception("未找到相关配置,请检查"); } var temp = new SiteMapNode(this, rootNode.Id.ToString(), rootNode.Url, rootNode.Title, rootNode.Descr); return(temp); }
public IList <MenusInfo> GetList() { StringBuilder sb = new StringBuilder(300); sb.Append(@"select ApplicationId,Id,ParentId,IdStep,Title,Url,Descr,AllowRoles,DenyUsers,Sort,LastUpdatedDate from Menus order by Sort " ); IList <MenusInfo> list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString())) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.ApplicationId = reader.GetGuid(0); model.Id = reader.GetGuid(1); model.ParentId = reader.GetGuid(2); model.IdStep = reader.GetString(3); model.Title = reader.GetString(4); model.Url = reader.GetString(5); model.Descr = reader.GetString(6); model.AllowRoles = reader.GetString(7); model.DenyUsers = reader.GetString(8); model.Sort = reader.GetInt32(9); model.LastUpdatedDate = reader.GetDateTime(10); list.Add(model); } } } return(list); }
public int Update(MenusInfo model) { return(dal.Update(model)); }
public int Insert(MenusInfo model) { return(dal.Insert(model)); }
public IList <MenusInfo> GetUserMenuAccessList(object userId, string[] userRoles) { var sbIn = new StringBuilder(300); sbIn.Append("("); var index = 0; foreach (var item in userRoles) { if (index > 0) { sbIn.Append(","); } sbIn.AppendFormat("'{0}'", item.ToLower()); index++; } sbIn.Append(")"); var sb = new StringBuilder(2000); sb.AppendFormat(@"select Id,ParentId,Title,Url,Descr ,CHARINDEX(convert(varchar(36),r.RoleId),m.AllowRoles) IsAllowRole ,CHARINDEX('{0}',DenyUsers) IsDenyUser ,CHARINDEX('{2}',rm.OperationAccess) IsAllowAdd,CHARINDEX('{3}',rm.OperationAccess) IsAllowEdit,CHARINDEX('{4}',rm.OperationAccess) IsAllowDelete ,CHARINDEX('{2}',um.OperationAccess) IsDenyAdd,CHARINDEX('{3}',um.OperationAccess) IsDenyEdit,CHARINDEX('{4}',um.OperationAccess) IsDenyDelete from Menus m left join TygaSoftAspnetDb.dbo.aspnet_Roles r on CHARINDEX(convert(varchar(36),r.RoleId),m.AllowRoles) > 0 left join RoleMenu rm on rm.RoleId = r.RoleId and rm.MenuId = m.Id left join UserMenu um on um.UserId = '{0}' and um.MenuId = m.Id where r.LoweredRoleName in {1} order by m.Sort ", userId, sbIn.ToString(), (int)EnumData.EnumOperationAccess.新增, (int)EnumData.EnumOperationAccess.编辑, (int)EnumData.EnumOperationAccess.除); IList <MenusInfo> list = new List <MenusInfo>(); using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.AssetConnString, CommandType.Text, sb.ToString())) { if (reader != null && reader.HasRows) { while (reader.Read()) { MenusInfo model = new MenusInfo(); model.Id = reader.GetGuid(0); model.ParentId = reader.GetGuid(1); model.Title = reader.GetString(2); model.Url = reader.GetString(3); model.Descr = reader.GetString(4); var isAllowRole = reader.GetInt32(5); var isDenyUser = reader.GetInt32(6); var isAllowAdd = reader.IsDBNull(7) ? false : reader.GetInt32(7) > 0; var isAllowEdit = reader.IsDBNull(8) ? false : reader.GetInt32(8) > 0; var isAllowDelete = reader.IsDBNull(9) ? false : reader.GetInt32(9) > 0; var isDenyAdd = reader.IsDBNull(10) ? false : reader.GetInt32(10) > 0; var isDenyEdit = reader.IsDBNull(11) ? false : reader.GetInt32(11) > 0; var isDenyDelete = reader.IsDBNull(12) ? false : reader.GetInt32(12) > 0; if (isDenyUser > 0) { model.IsView = false; } else { model.IsView = isAllowRole > 0; } if (isDenyAdd) { model.IsAdd = false; } else { model.IsAdd = isAllowAdd; } if (isDenyEdit) { model.IsEdit = false; } else { model.IsEdit = isAllowEdit; } if (isDenyDelete) { model.IsDelete = false; } else { model.IsDelete = isAllowDelete; } list.Add(model); } } } if (list.Count == 0) { return(list); } var endList = new List <MenusInfo>(); var q = list.GroupBy(m => m.Id); foreach (var g in q) { var itemInfo = list.First(m => m.Id.Equals(g.Key)); var isView = list.Any(m => (m.Id.Equals(g.Key) && m.IsView)); var isAdd = list.Any(m => (m.Id.Equals(g.Key) && m.IsAdd)); var isEdit = list.Any(m => (m.Id.Equals(g.Key) && m.IsEdit)); var isDelete = list.Any(m => (m.Id.Equals(g.Key) && m.IsDelete)); itemInfo.IsView = isView; itemInfo.IsAdd = isAdd; itemInfo.IsEdit = isEdit; itemInfo.IsDelete = isDelete; endList.Add(itemInfo); } return(endList); }