上传T4模板

This commit is contained in:
yeslode
2021-10-17 17:35:18 +08:00
parent cdd9e8f45b
commit da6248e6b3
22 changed files with 302 additions and 21 deletions

View File

@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
namespace Yi.Framework.Service
{
public class MenuService:BaseService<menu>, IMenuService
public partial class MenuService:BaseService<menu>, IMenuService
{
public MenuService(DbContext Db) : base(Db) { }
@@ -41,11 +41,13 @@ namespace Yi.Framework.Service
return childrenList;
}
public async Task<List<menu>> GetChildrenMenu()
public async Task<List<menu>> GetChildrenMenu(menu _menu)
{
return await _Db.Set<menu>().Include(u => u.children)
.Where(u => u.is_delete == (short)Common.Enum.DelFlagEnum.Normal&& u.is_top == (short)Common.Enum.TopFlagEnum.Children )
.ToListAsync();
var menu= await _Db.Set<menu>().Include(u => u.children).Include(u=>u.mould)
.Where(u =>u.id==_menu.id&& u.is_delete == (short)Common.Enum.DelFlagEnum.Normal&& u.is_top == (short)Common.Enum.TopFlagEnum.Children )
.FirstOrDefaultAsync();
var childrenList = menu.children.ToList();
return childrenList;
}
public async Task<menu> GetMenuMouldByMenu(menu _menu)
@@ -75,5 +77,6 @@ namespace Yi.Framework.Service
menu_data.mould = mould_data;
return await UpdateAsync(menu_data);
}
}
}

View File

@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
namespace Yi.Framework.Service
{
public class MouldService:BaseService<mould>, IMouldService
public partial class MouldService:BaseService<mould>, IMouldService
{
public MouldService(DbContext Db) : base(Db) { }

View File

@@ -9,7 +9,7 @@ using Yi.Framework.Model.Models;
namespace Yi.Framework.Service
{
public class RoleService:BaseService<role>, IRoleService
public partial class RoleService:BaseService<role>, IRoleService
{
public RoleService(DbContext Db):base(Db)
{
@@ -30,7 +30,9 @@ namespace Yi.Framework.Service
{
var role_data =await _Db.Set<role>().Include(u => u.menus)
.Where(u => u.id == _role.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
return role_data.menus.ToList();
var menuList =role_data.menus.Where(u => u.is_top == (short)Common.Enum.TopFlagEnum.Top && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal)
.ToList();
return menuList;
}
public async Task<List<user>> GetUsersByRole(role _role)

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Model.Models;
using Yi.Framework.Interface;
using Microsoft.EntityFrameworkCore;
namespace Yi.Framework.Service
{
public partial class MenuService:BaseService<menu>,IMenuService
{
//public MenuService(DbContext Db):base(Db){ }
}
public partial class MouldService:BaseService<mould>,IMouldService
{
//public MouldService(DbContext Db):base(Db){ }
}
public partial class RoleService:BaseService<role>,IRoleService
{
//public RoleService(DbContext Db):base(Db){ }
}
public partial class UserService:BaseService<user>,IUserService
{
//public UserService(DbContext Db):base(Db){ }
}
}

View File

@@ -0,0 +1,43 @@
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>
<#
DirectoryInfo dir = new DirectoryInfo(@"D:\YiFramework\Yi\Yi.Framework\Yi.Framework.Model\Models\");
FileInfo[] finfo = dir.GetFiles();
string filenames = string.Empty;
List<string> filenameList = new List<string>();
for (int i = 0; i < finfo.Length; i++)
{
filenames = finfo[i].Name ;
string[] fname=filenames.Split('.');
filenameList.Add(fname[0]);
}
#>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Yi.Framework.Model.Models;
using Yi.Framework.Interface;
using Microsoft.EntityFrameworkCore;
namespace Yi.Framework.Service
{
<# foreach(string k in filenameList){
string fn= k.Substring(0,1).ToUpper()+k.Substring(1);
#>
public partial class <#= fn #>Service:BaseService<<#= k #>>,I<#= fn #>Service
{
//public <#= fn #>Service(DbContext Db):base(Db){ }
}
<# } #>
}

View File

@@ -11,10 +11,12 @@ using Yi.Framework.Model.Models;
namespace Yi.Framework.Service
{
public class UserService: BaseService<user>,IUserService
public partial class UserService: BaseService<user>,IUserService
{
public UserService(DbContext Db) :base(Db)
private IRoleService _roleService;
public UserService(DbContext Db, IRoleService roleService) :base(Db)
{
_roleService = roleService;
}
public async Task<bool> DelListByUpdateAsync(List<int> _ids)
{
@@ -97,5 +99,19 @@ namespace Yi.Framework.Service
return await UpdateListAsync(user_data);
}
public async Task <List<List<menu>>> GetMenuByUser(user _user)
{
var user_data =await _Db.Set<user>().Include(u => u.roles).ThenInclude(u => u.menus)
.Where(u => u.id == _user.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync();
var roleList= user_data.roles.ToList();
var menuList = new List<List<menu>>();
foreach (var role in roleList)
{
var menu= await _roleService.GetMenusByRole(role);
menuList.Add(menu);
}
return menuList;
}
}
}

View File

@@ -8,6 +8,14 @@
<Compile Remove="T4DaraContext.cs" />
</ItemGroup>
<ItemGroup>
<None Include="T4Service.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>T4Service.tt</DependentUpon>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Yi.Framework.Interface\Yi.Framework.Interface.csproj" />
<ProjectReference Include="..\Yi.Framework.Model\Yi.Framework.Model.csproj" />