public async void PostAndDelete_Ok() { var ret = await Client.PostAsJsonAsync <Group, bool>("", new Group() { GroupCode = "002", GroupName = "UnitTest-Group", Description = "UnitTest-Desc" }); Assert.True(ret); var ids = GroupHelper.Retrieves().Where(d => d.GroupName == "UnitTest-Group").Select(d => d.Id); Assert.True(await Client.DeleteAsJsonAsync <IEnumerable <string>, bool>(ids)); }
public void SaveByGroupId_Ok() { var groupId = GroupHelper.Retrieves().FirstOrDefault(g => g.GroupName == "Admin").Id; var id = UserHelper.Retrieves().FirstOrDefault(u => u.UserName == "Admin").Id; Assert.True(UserHelper.SaveByGroupId(groupId, new string[] { id })); var users = UserHelper.RetrievesByGroupId(groupId); Assert.NotEmpty(users.Where(u => u.Checked == "checked")); Assert.True(UserHelper.SaveByGroupId(groupId, new string[0])); }
public async void PutById_Ok() { var ids = GroupHelper.Retrieves().Select(g => g.Id); var uid = UserHelper.Retrieves().Where(u => u.UserName == "Admin").First().Id; var ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{uid}?type=user", ids); Assert.True(ret); var rid = RoleHelper.Retrieves().Where(r => r.RoleName == "Administrators").First().Id; ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{rid}?type=role", ids); Assert.True(ret); }
public async void PostById_Ok() { var uid = UserHelper.Retrieves().Where(u => u.UserName == "Admin").First().Id; var gid = GroupHelper.Retrieves().Where(g => g.GroupName == "Admin").First().Id; var mid = MenuHelper.RetrieveAllMenus("Admin").Where(m => m.Url == "~/Admin/Index").First().Id; var ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >($"{uid}?type=user", string.Empty); Assert.NotEmpty(ret); ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >($"{gid}?type=group", string.Empty); Assert.NotEmpty(ret); ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >($"{mid}?type=menu", string.Empty); Assert.NotEmpty(ret); }
public async void PostById_Ok() { var rid = RoleHelper.Retrieves().Where(r => r.RoleName == "Administrators").First().Id; var ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >($"{rid}?type=role", string.Empty); Assert.NotNull(ret); var gid = GroupHelper.Retrieves().Where(r => r.GroupName == "Admin").First().Id; ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >($"{gid}?type=group", string.Empty); Assert.NotNull(ret); ret = await Client.PostAsJsonAsync <string, IEnumerable <object> >("UnitTest?type=reset", string.Empty); Assert.NotNull(ret); }
/// <summary> /// 查询方法 /// </summary> /// <param name="pageIndex">页码</param> /// <param name="pageItems">每页显示数据条目数量</param> protected override QueryData <Group> Query(int pageIndex, int pageItems) { var data = GroupHelper.Retrieves(); if (!string.IsNullOrEmpty(QueryModel.GroupName)) { data = data.Where(d => d.GroupName.Contains(QueryModel.GroupName, StringComparison.OrdinalIgnoreCase)); } if (!string.IsNullOrEmpty(QueryModel.Description)) { data = data.Where(d => d.Description != null && d.Description.Contains(QueryModel.Description, StringComparison.OrdinalIgnoreCase)); } var totalCount = data.Count(); var items = data.Skip((pageIndex - 1) * pageItems).Take(pageItems); return(new QueryData <Group>() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems }); }
/// <summary> /// /// </summary> /// <returns></returns> public QueryData <object> RetrieveData() { // int limit, int offset, string name, string price, string sort, string order var data = GroupHelper.Retrieves(); if (!string.IsNullOrEmpty(GroupName)) { data = data.Where(t => t.GroupName.Contains(GroupName)); } if (!string.IsNullOrEmpty(Description)) { data = data.Where(t => t.Description.Contains(Description)); } var ret = new QueryData <object>(); ret.total = data.Count(); data = Order == "asc" ? data.OrderBy(t => t.GroupName) : data.OrderByDescending(t => t.GroupName); ret.rows = data.Skip(Offset).Take(Limit).Select(g => new { g.Id, g.GroupName, g.Description }); return(ret); }
/// <summary> /// 获取指定用户的所有菜单 /// </summary> /// <param name="userName"></param> /// <returns></returns> public override IEnumerable <BootstrapMenu> RetrieveAllMenus(string userName) { var user = UserHelper.Retrieves().Cast <User>().FirstOrDefault(u => u.UserName.ToLowerInvariant() == userName.ToLowerInvariant()); if (user == null) { return(Enumerable.Empty <BootstrapMenu>()); } var roles = RoleHelper.Retrieves().Cast <Role>(); var groups = GroupHelper.Retrieves().Cast <Group>(); // 通过用户获取 组列表相关联的角色列表 var userRoles = user.Groups.Aggregate(user.Roles.ToList(), (r, g) => { var groupRoles = groups.Where(group => group.Id == g).FirstOrDefault()?.Roles; if (groupRoles != null) { r.AddRange(groupRoles); } return(r); }).Distinct().ToList(); var allRoles = roles.Where(r => userRoles.Any(rl => rl == r.Id)).ToList(); var menus = DbManager.Menus.Find(FilterDefinition <BootstrapMenu> .Empty).ToList() .Where(m => allRoles.Any(r => r.RoleName.Equals("Administrators", StringComparison.OrdinalIgnoreCase) || r.Menus.Any(rm => rm.Equals(m.Id, StringComparison.OrdinalIgnoreCase)))) .ToList(); var dicts = DictHelper.RetrieveDicts().Where(m => m.Category == "菜单"); menus.ForEach(m => { m.CategoryName = dicts.FirstOrDefault(d => d.Code == m.Category)?.Name ?? ""; if (m.ParentId != "0") { m.ParentName = menus.FirstOrDefault(p => p.Id == m.ParentId)?.Name ?? ""; } }); return(menus); }
public async void PutById_Ok() { var uid = UserHelper.Retrieves().Where(u => u.UserName == "Admin").First().Id; var gid = GroupHelper.Retrieves().Where(g => g.GroupName == "Admin").First().Id; var mid = MenuHelper.RetrieveAllMenus("Admin").Where(m => m.Url == "~/Admin/Index").First().Id; var ids = RoleHelper.Retrieves().Select(r => r.Id); var ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{uid}?type=user", ids); Assert.True(ret); ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{gid}?type=group", ids); Assert.True(ret); ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{mid}?type=menu", ids); Assert.True(ret); ret = await Client.PutAsJsonAsync <IEnumerable <string>, bool>($"{mid}?type=app", ids); Assert.True(ret); }
/// <summary> /// /// </summary> /// <param name="userName"></param> /// <returns></returns> public override IEnumerable <string> RetrievesByUserName(string userName) { var roles = new List <string>(); var user = UserHelper.Retrieves().Cast <User>().FirstOrDefault(u => u.UserName.ToLowerInvariant() == userName.ToLowerInvariant()); if (user != null) { // 用户所属角色 var role = RoleHelper.Retrieves(); roles.AddRange(role.Where(r => user.Roles.Any(rl => rl == r.Id)).Select(r => r.RoleName)); // 用户所属部门 部门所属角色 GroupHelper.Retrieves().Cast <Group>().Where(group => user.Groups.Any(g => g == group.Id)).ToList().ForEach(g => { roles.AddRange(role.Where(r => g.Roles.Any(rl => rl == r.Id)).Select(r => r.RoleName)); }); if (roles.Count == 0) { roles.Add("Default"); } } return(roles.Distinct()); }
public void Retrieves_Ok() { Assert.NotEmpty(GroupHelper.Retrieves()); }
public void SaveByRoleId_Ok() { var roleId = RoleHelper.Retrieves().FirstOrDefault(r => r.RoleName == "Administrators").Id; Assert.True(GroupHelper.SaveByRoleId(roleId, GroupHelper.Retrieves().Select(g => g.Id))); }
public void SaveByUserId_Ok() { var userId = UserHelper.Retrieves().FirstOrDefault(r => r.UserName == "Admin").Id; Assert.True(GroupHelper.SaveByUserId(userId, GroupHelper.Retrieves().Select(g => g.Id))); }
public void SaveByGroupId_Ok() { var gId = GroupHelper.Retrieves().FirstOrDefault(g => g.GroupName == "Admin").Id; RoleHelper.SaveByGroupId(gId, RoleHelper.Retrieves().Where(r => r.RoleName == "Administrators").Select(r => r.Id)); }
public Group Get(string id) { return(GroupHelper.Retrieves().FirstOrDefault(t => t.Id == id)); }