ZrAdminNetCore/ZR.Service/System/CodeGeneratorService.cs
2021-09-06 18:36:22 +08:00

68 lines
2.0 KiB
C#

using Infrastructure;
using Infrastructure.Attribute;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.Model;
using ZR.Model.CodeGenerator;
using ZR.Repository.System;
using ZR.Service.IService;
namespace ZR.Service.System
{
/// <summary>
///
/// </summary>
[AppService(ServiceType = typeof(ICodeGeneratorService), ServiceLifetime = LifeTime.Transient)]
public class CodeGeneratorService: ICodeGeneratorService
{
public CodeGeneratorRepository CodeGeneratorRepository;
public CodeGeneratorService(CodeGeneratorRepository codeGeneratorRepository)
{
CodeGeneratorRepository = codeGeneratorRepository;
}
/// <summary>
/// 获取所有数据库名
/// </summary>
/// <returns></returns>
public List<DataBaseInfo> GetAllDataBases(string dbType)
{
List<DataBaseInfo> list = new List<DataBaseInfo>();
if (dbType.Contains("SqlServer"))
{
list = CodeGeneratorRepository.GetAllDataBaseInfos();
}
else if (dbType.Contains("MySql"))
{
// list = mssqlExtractor.GetAllDataBases();
}
return list;
}
public List<DbTableInfo> GetTablesWithPage(string tablename, string dbName, PagerInfo info)
{
var dbType = ConfigUtils.Instance.GetConfig("CodeGenDbType");
List<DbTableInfo> list = new List<DbTableInfo>();
if (dbType == "1")
{
list = CodeGeneratorRepository.GetAllTables(dbName);
}
else if (dbType.Contains("MySql"))
{
//list = mysqlExtractor.GetAllTables(this.dbName, tablename, fieldNameToSort, isDescending, info);
}
if (!string.IsNullOrEmpty(tablename))
{
list = list.Where(f => f.TableName.Contains(tablename)).ToList();
}
return list;
}
}
}