/// <summary> /// 根据角色获取表单按钮列表 /// </summary> /// <param name="roleId">角色Id</param> /// <returns>菜单按钮对象</returns> public async Task <List <MenuButtonEntity> > GetButtonListByRoleId(string roleId) { var data = new List <MenuButtonEntity>(); var isSystem = context.User.Claims.First(t => t.Type == OperatorModelClaimNames.IsSystem).Value; if (isSystem.ToBool()) { data = await this.GetList(); } else { var buttondata = await this.GetList(); //获取授权过的按钮 var authorizedata = await roleAuthRepo.IQueryable(t => t.ObjectId == roleId && t.ItemType == 2).ToListAsync(); foreach (var item in authorizedata) { MenuButtonEntity menuButtonEntity = buttondata.Find(t => t.Id == item.ItemId); if (menuButtonEntity != null) { data.Add(menuButtonEntity); } } } return(data.OrderBy(t => t.SortCode).ToList()); }
/// <summary> /// 根据角色获取表单按钮列表 /// </summary> /// <param name="roleId">角色Id</param> /// <returns>菜单按钮对象</returns> public async Task <List <MenuButtonEntity> > GetButtonListByRoleId(string roleId, bool isSystem, string tenantId) { var data = new List <MenuButtonEntity>(); if (isSystem.ToBool()) { data = await this.GetList(tenantId); } else { var buttondata = await this.GetList(tenantId); //获取授权过的按钮 var authorizedata = await roleAuthRepo.IQueryable(t => t.ObjectId == roleId && t.ItemType == 2).ToListAsync(); foreach (var item in authorizedata) { MenuButtonEntity menuButtonEntity = buttondata.Find(t => t.Id == item.ItemId); if (menuButtonEntity != null) { data.Add(menuButtonEntity); } } } return(data.OrderBy(t => t.SortCode).ToList()); }
/// <summary> /// 保存 /// </summary> /// <param name="menuButtonEntity">表单按钮对象</param> /// <param name="keyValue">按钮Id</param> public Task Save(MenuButtonEntity menuButtonEntity, string keyValue) { if (!string.IsNullOrEmpty(keyValue)) { menuButtonEntity.AttachModifyInfo(keyValue, context); return(menuButtonRepo.UpdateAsync(menuButtonEntity)); } else { menuButtonEntity.AttachCreateInfo(context); return(menuButtonRepo.InsertAsync(menuButtonEntity)); } }
/// <summary> /// 保存克隆的按钮 /// </summary> /// <param name="menuId">菜单Id</param> /// <param name="Ids">要复制的按钮Id,逗号分隔</param> public async Task <int> SaveCloneButton(string menuId, string Ids) { string[] ArrayId = Ids.Split(','); var data = await this.GetList(); List <MenuButtonEntity> entitys = new List <MenuButtonEntity>(); foreach (string item in ArrayId) { MenuButtonEntity moduleButtonEntity = data.Find(t => t.Id == item); moduleButtonEntity.Id = Common.GuId(); moduleButtonEntity.MenuId = menuId; entitys.Add(moduleButtonEntity); } return(await menuButtonRepo.SaveCloneButton(entitys)); }
public static void InitFreameworkDbData(this IApplicationBuilder app, IServiceProvider applicationServices, string webRootPath, EvolutionDBContext dbContext) { var sqlServerDatabase = dbContext.Database; //try //{ // int r = sqlServerDatabase.ExecuteSqlCommand("select count(*) from Sys_User"); // return; //} //catch(Exception ex) //{ // //这个ex是可预期的。 //} try { sqlServerDatabase.EnsureDeleted(); } catch { } if (sqlServerDatabase.EnsureCreated()) { //sqlServerDatabase.Migrate(); DataInitTool.ProcessFile("Sys_DbBackup.csv", webRootPath, colums => { DbBackupEntity entity = new DbBackupEntity(); entity.Id = colums[0]; entity.BackupType = colums[1]; entity.DbName = colums[2]; entity.FileName = colums[3]; entity.FileSize = colums[4]; entity.FilePath = colums[5]; entity.BackupTime = DateTime.Parse(colums[6]); entity.EnabledMark = bool.Parse(colums[9]); entity.CreateTime = DateTime.MinValue; dbContext.DbBackups.Add(entity); }); DataInitTool.ProcessFile("Sys_FilterIP.csv", webRootPath, colums => { FilterIPEntity entity = new FilterIPEntity(); entity.Id = colums[0]; entity.Type = bool.Parse(colums[1]); entity.StartIP = colums[2]; entity.EndIP = colums[3]; entity.EnabledMark = bool.Parse(colums[6]); entity.Description = colums[7]; entity.CreateTime = DateTime.Parse(colums[8]); dbContext.FilterIPs.Add(entity); }); DataInitTool.ProcessFile("Sys_Items.csv", webRootPath, colums => { ItemsEntity entity = new ItemsEntity(); entity.Id = colums[0]; entity.ParentId = colums[1]; entity.EnCode = colums[2]; entity.FullName = colums[3]; entity.IsTree = GetDefaultBool(colums[4], false); entity.Layers = int.Parse(colums[5]); entity.SortCode = int.Parse(colums[6]); entity.DeleteMark = GetDefaultBool(colums[7], false); entity.EnabledMark = GetDefaultBool(colums[8], true); entity.CreateTime = DateTime.MinValue; dbContext.Items.Add(entity); }); DataInitTool.ProcessFile("Sys_ItemsDetail.csv", webRootPath, colums => { ItemsDetailEntity entity = new ItemsDetailEntity(); entity.Id = colums[0]; entity.ItemId = colums[1]; entity.ParentId = colums[2]; entity.ItemCode = colums[3]; entity.ItemName = colums[4]; entity.IsDefault = GetDefaultBool(colums[6], false); entity.SortCode = int.Parse(colums[8]); entity.DeleteMark = GetDefaultBool(colums[9], false); entity.EnabledMark = GetDefaultBool(colums[10], true); dbContext.ItemsDetails.Add(entity); }); DataInitTool.ProcessFile("Sys_Log.csv", webRootPath, colums => { LogEntity entity = new LogEntity(); entity.Id = colums[0]; entity.Date = DateTime.Parse(colums[1]); entity.Account = colums[2]; entity.NickName = colums[3]; entity.Type = colums[4]; entity.IPAddress = colums[5]; entity.IPAddressName = colums[6]; entity.ModuleName = colums[8]; entity.Result = bool.Parse(colums[9]); entity.Description = colums[10]; entity.CreateTime = DateTime.MinValue; entity.CreatorUserId = colums[12]; dbContext.Logs.Add(entity); }); DataInitTool.ProcessFile("Sys_Menu.csv", webRootPath, colums => { MenuEntity entity = new MenuEntity(); entity.Id = colums[0]; entity.ParentId = colums[1]; entity.Layers = int.Parse(colums[2]); entity.FullName = colums[4]; entity.Icon = colums[5]; entity.UrlAddress = colums[6]; entity.Target = colums[7]; entity.IsMenu = bool.Parse(colums[8]); entity.IsExpand = bool.Parse(colums[9]); entity.IsPublic = bool.Parse(colums[10]); entity.AllowEdit = bool.Parse(colums[11]); entity.AllowDelete = bool.Parse(colums[12]); entity.SortCode = int.Parse(colums[13]); entity.DeleteMark = bool.Parse(colums[14]); entity.EnabledMark = bool.Parse(colums[15]); entity.Description = colums[16]; entity.CreateTime = DateTime.MinValue; entity.LastModifyTime = DateTime.MinValue; entity.LastModifyUserId = colums[20]; dbContext.Menus.Add(entity); }); DataInitTool.ProcessFile("Sys_MenuButton.csv", webRootPath, colums => { MenuButtonEntity entity = new MenuButtonEntity(); entity.Id = colums[0]; entity.MenuId = colums[1]; entity.ParentId = colums[2]; if (!string.IsNullOrEmpty(colums[3])) { entity.Layers = int.Parse(colums[3]); } entity.EnCode = colums[4]; entity.FullName = colums[5]; if (!string.IsNullOrEmpty(colums[7])) { entity.Location = int.Parse(colums[7]); } entity.JsEvent = colums[8]; entity.UrlAddress = colums[9]; if (!string.IsNullOrEmpty(colums[10])) { entity.Split = bool.Parse(colums[10]); } if (!string.IsNullOrEmpty(colums[11])) { entity.IsPublic = bool.Parse(colums[11]); } if (!string.IsNullOrEmpty(colums[12])) { entity.AllowEdit = bool.Parse(colums[12]); } if (!string.IsNullOrEmpty(colums[13])) { entity.AllowDelete = bool.Parse(colums[13]); } if (!string.IsNullOrEmpty(colums[14])) { entity.SortCode = int.Parse(colums[14]); } if (!string.IsNullOrEmpty(colums[15])) { entity.DeleteMark = bool.Parse(colums[15]); } if (!string.IsNullOrEmpty(colums[16])) { entity.EnabledMark = bool.Parse(colums[16]); } entity.CreateTime = DateTime.MinValue; entity.LastModifyTime = DateTime.MinValue; entity.LastModifyUserId = colums[20]; dbContext.ModuleButtons.Add(entity); }); DataInitTool.ProcessFile("Sys_Organize.csv", webRootPath, colums => { OrganizeEntity entity = new OrganizeEntity(); entity.Id = colums[0]; entity.ParentId = colums[1]; entity.Layers = int.Parse(colums[2]); entity.EnCode = colums[3]; entity.FullName = colums[4]; entity.ShortName = colums[5]; entity.CategoryId = colums[6]; entity.ManagerId = colums[7]; entity.Address = colums[14]; entity.SortCode = int.Parse(colums[17]); entity.DeleteMark = bool.Parse(colums[18]); entity.EnabledMark = bool.Parse(colums[19]); entity.CreateTime = DateTime.MinValue; dbContext.Organizes.Add(entity); }); DataInitTool.ProcessFile("Sys_Role.csv", webRootPath, colums => { RoleEntity entity = new RoleEntity(); entity.Id = colums[0]; entity.OrganizeId = colums[1]; entity.Category = int.Parse(colums[2]); entity.EnCode = colums[3]; entity.FullName = colums[4]; entity.Type = colums[5]; entity.AllowEdit = bool.Parse(colums[6]); entity.AllowDelete = bool.Parse(colums[7]); entity.SortCode = int.Parse(colums[8]); entity.DeleteMark = bool.Parse(colums[9]); entity.EnabledMark = bool.Parse(colums[10]); entity.CreateTime = DateTime.MinValue; entity.LastModifyTime = DateTime.MinValue; entity.LastModifyUserId = colums[15]; dbContext.Roles.Add(entity); }); DataInitTool.ProcessFile("Sys_RoleAuthorize.csv", webRootPath, colums => { RoleAuthorizeEntity entity = new RoleAuthorizeEntity(); entity.Id = colums[0]; entity.ItemType = int.Parse(colums[1]); entity.ItemId = colums[2]; entity.ObjectType = int.Parse(colums[3]); entity.ObjectId = colums[4]; //entity.SortCode = int.Parse(colums[5]); entity.CreateTime = DateTime.MinValue; entity.CreatorUserId = colums[7]; dbContext.RoleAuthorize.Add(entity); }); DataInitTool.ProcessFile("Sys_User.csv", webRootPath, colums => { UserEntity entity = new UserEntity(); entity.Id = colums[0]; entity.Account = colums[1]; entity.RealName = colums[2]; entity.NickName = colums[3]; entity.Gender = bool.Parse(colums[5]); entity.MobilePhone = colums[7]; entity.OrganizeId = colums[13]; entity.DepartmentId = colums[14]; entity.RoleId = colums[15]; entity.DutyId = colums[16]; entity.IsAdministrator = bool.Parse(colums[17]); entity.DeleteMark = bool.Parse(colums[19]); entity.EnabledMark = bool.Parse(colums[20]); entity.Description = colums[21]; entity.CreateTime = DateTime.MinValue; entity.LastModifyTime = DateTime.MinValue; entity.LastModifyUserId = colums[25]; dbContext.Users.Add(entity); }); DataInitTool.ProcessFile("Sys_UserLogOn.csv", webRootPath, colums => { UserLogOnEntity entityt = new UserLogOnEntity(); entityt.Id = colums[0]; entityt.UserId = colums[1]; entityt.UserPassword = colums[2]; entityt.UserSecretkey = colums[3]; if (!string.IsNullOrEmpty(colums[9])) { entityt.PreviousVisitTime = DateTime.Parse(colums[9]); } if (!string.IsNullOrEmpty(colums[10])) { entityt.LastVisitTime = DateTime.Parse(colums[10]); } if (!string.IsNullOrEmpty(colums[13])) { entityt.LogOnCount = int.Parse(colums[13]); } dbContext.UserLogOn.Add(entityt); }); dbContext.SaveChanges(); } }
public async Task <IActionResult> SubmitForm(MenuButtonEntity entity, string keyValue) { await menuButtonApp.Save(entity, keyValue, this.UserId); return(Success("操作成功。")); }