master
xiaochanghai 1 year ago
parent 6b2f89fff1
commit 31f724d6ac
  1. 4
      Tiobon.Core.Api/Controllers/Ghra_GradeController.cs
  2. 161
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 124
      Tiobon.Core.Common/Seed/FrameSeed.cs
  4. 79
      Tiobon.Core.IServices/BASE/IBaseServices1.cs
  5. 2
      Tiobon.Core.IServices/IGhra_GradeServices.cs
  6. 27
      Tiobon.Core.Model/Edit/Ghra/Ghra_Grade.Dto.EditInput.cs
  7. 27
      Tiobon.Core.Model/Insert/Ghra/Ghra_Grade.Dto.InsertInput.cs
  8. 4
      Tiobon.Core.Model/Models/Ghra/Ghra_Grade.cs
  9. 27
      Tiobon.Core.Model/View/Ghra/Ghra_Grade.Dto.View.cs
  10. 3
      Tiobon.Core.Repository/BASE/IBaseRepository.cs
  11. 385
      Tiobon.Core.Services/BASE/BaseServices1.cs
  12. 2
      Tiobon.Core.Services/Ghra_GradeServices.cs
  13. 4
      Tiobon.Core.Services/Tiobon.Core.Services.csproj

@ -29,10 +29,10 @@
/// <param name="filter">条件</param> /// <param name="filter">条件</param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public async Task<MessageModel<PageModel<Ghra_Grade>>> Get([FromFilter] QueryFilter filter) public async Task<MessageModel<PageModel<Ghra_GradeDto>>> Get([FromFilter] QueryFilter filter)
{ {
var response = await _ghra_GradeServices.QueryFilterPage(filter); var response = await _ghra_GradeServices.QueryFilterPage(filter);
return new MessageModel<PageModel<Ghra_Grade>>() { msg = "获取成功", success = true, response = response }; return new MessageModel<PageModel<Ghra_GradeDto>>() { msg = "获取成功", success = true, response = response };
} }
/// <summary> /// <summary>

@ -104,84 +104,14 @@
所有 所有
</summary> </summary>
</member> </member>
<member name="T:Tiobon.Core.Model.Models.Ghra_Grade"> <member name="T:Tiobon.Core.Model.Models.EditGhra_GradeInput">
<summary> <summary>
Ghra_Grade Ghra_Grade
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse6"> <member name="T:Tiobon.Core.Model.Models.InsertGhra_GradeInput">
<summary>
Reverse6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.MKey">
<summary>
MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse9">
<summary>
Reverse9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse3">
<summary>
Reverse3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse4">
<summary>
Reverse4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.ReverseI1">
<summary>
ReverseI1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.DataBelongID">
<summary>
DataBelongID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse7">
<summary> <summary>
Reverse7 Ghra_Grade
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.GradeNo">
<summary>
GradeNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse1">
<summary>
Reverse1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse2">
<summary>
Reverse2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse5">
<summary>
Reverse5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.GradeName">
<summary>
GradeName
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse8">
<summary>
Reverse8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.ReverseI2">
<summary>
ReverseI2
</summary> </summary>
</member> </member>
<member name="T:Tiobon.Core.Model.Models.AccessTrendLog"> <member name="T:Tiobon.Core.Model.Models.AccessTrendLog">
@ -430,6 +360,86 @@
异常 异常
</summary> </summary>
</member> </member>
<member name="T:Tiobon.Core.Model.Models.Ghra_Grade">
<summary>
Ghra_Grade
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse6">
<summary>
Reverse6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.MKey">
<summary>
MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse9">
<summary>
Reverse9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse3">
<summary>
Reverse3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse4">
<summary>
Reverse4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.ReverseI1">
<summary>
ReverseI1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.DataBelongID">
<summary>
DataBelongID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse7">
<summary>
Reverse7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.GradeNo">
<summary>
GradeNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse1">
<summary>
Reverse1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse2">
<summary>
Reverse2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse5">
<summary>
Reverse5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.GradeName">
<summary>
GradeName
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.Reverse8">
<summary>
Reverse8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghra_Grade.ReverseI2">
<summary>
ReverseI2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Guestbook.TiobonId"> <member name="P:Tiobon.Core.Model.Models.Guestbook.TiobonId">
<summary>博客ID <summary>博客ID
@ -1779,6 +1789,11 @@
修改时间 修改时间
</summary> </summary>
</member> </member>
<member name="T:Tiobon.Core.Model.Models.Ghra_GradeDto">
<summary>
Ghra_Grade
</summary>
</member>
<member name="T:Tiobon.Core.Model.IDS4DbModels.ApplicationRole"> <member name="T:Tiobon.Core.Model.IDS4DbModels.ApplicationRole">
<summary> <summary>
以下model 来自ids4项目,多库模式,为了调取ids4数据 以下model 来自ids4项目,多库模式,为了调取ids4数据

@ -168,10 +168,10 @@ namespace Tiobon.Core.Common.Seed
/// <param name=""filter"">条件</param> /// <param name=""filter"">条件</param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public async Task<MessageModel<PageModel<{ClassName}>>> Get([FromFilter] QueryFilter filter) public async Task<MessageModel<PageModel<{ClassName}Dto>>> Get([FromFilter] QueryFilter filter)
{ {
var response = await _{ClassName}Services.QueryFilterPage(filter); var response = await _{ClassName}Services.QueryFilterPage(filter);
return new MessageModel<PageModel<{ClassName}>>() { msg = """", success = true, response = response }; return new MessageModel<PageModel<{ClassName}Dto>>() { msg = """", success = true, response = response };
} }
/// <summary> /// <summary>
@ -340,6 +340,7 @@ namespace " + strNameSpace + @"
StringBuilder build = new StringBuilder(); StringBuilder build = new StringBuilder();
var tableName = lstTableNames[0]; var tableName = lstTableNames[0];
var groupName = tableName.Split('_')[0];
string sql = @"SELECT A.name AS table_name, string sql = @"SELECT A.name AS table_name,
B.name AS column_name, B.name AS column_name,
D.data_type, D.data_type,
@ -484,12 +485,123 @@ namespace " + strNameSpace + @"
#endregion #endregion
build.Append("}\r\n"); build.Append(" }\r\n");
build.Append("}\r\n"); build.Append("}\r\n");
ls[tableName] = build.ToString(); ls[tableName] = build.ToString();
CreateFilesByClassStringList(ls, strPath, "{0}"); CreateFilesByClassStringList(ls, strPath + @"\Models\" + groupName, "{0}");
#region Insert
build = new StringBuilder();
ls = new Dictionary<string, string>();
build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n");
build.Append("* " + tableName + ".cs\r\n");
build.Append("*\r\n");
build.Append("*功 能: N / A\r\n");
build.Append("* 类 名: " + tableName + "\r\n");
build.Append("*\r\n");
build.Append("* Ver 变更日期 负责人 变更内容\r\n");
build.Append("* ───────────────────────────────────\r\n");
build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n");
build.Append("*\r\n");
build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n");
build.Append("*┌──────────────────────────────────┐\r\n");
build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n");
build.Append("*│ 作者:SimonHsiao │\r\n");
build.Append("*└──────────────────────────────────┘\r\n");
build.Append("*/ \r\n");
build.Append("\r\n");
build.Append("namespace Tiobon.Core.Model.Models\r\n");
build.Append("{\r\n");
build.Append("\r\n");
build.Append(" /// <summary>\r\n");
build.Append(" /// " + tableName + "\r\n");
build.Append(" /// </summary>\r\n");
build.Append(" public class Insert" + tableName + "Input : " + tableName + "\r\n");
build.Append(" {\r\n");
build.Append(" }\r\n");
build.Append("}\r\n");
ls.Add(tableName + ".Dto.InsertInput", build.ToString());
CreateFilesByClassStringList(ls, strPath + @"\Insert\" + groupName, "{0}");
#endregion
#region Edit
build = new StringBuilder();
ls = new Dictionary<string, string>();
build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n");
build.Append("* " + tableName + ".cs\r\n");
build.Append("*\r\n");
build.Append("*功 能: N / A\r\n");
build.Append("* 类 名: " + tableName + "\r\n");
build.Append("*\r\n");
build.Append("* Ver 变更日期 负责人 变更内容\r\n");
build.Append("* ───────────────────────────────────\r\n");
build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n");
build.Append("*\r\n");
build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n");
build.Append("*┌──────────────────────────────────┐\r\n");
build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n");
build.Append("*│ 作者:SimonHsiao │\r\n");
build.Append("*└──────────────────────────────────┘\r\n");
build.Append("*/ \r\n");
build.Append("\r\n");
build.Append("namespace Tiobon.Core.Model.Models\r\n");
build.Append("{\r\n");
build.Append("\r\n");
build.Append(" /// <summary>\r\n");
build.Append(" /// " + tableName + "\r\n");
build.Append(" /// </summary>\r\n");
build.Append(" public class Edit" + tableName + "Input : " + tableName + "\r\n");
build.Append(" {\r\n");
build.Append(" }\r\n");
build.Append("}\r\n");
ls.Add(tableName + ".Dto.EditInput", build.ToString());
CreateFilesByClassStringList(ls, strPath + @"\Edit\" + groupName, "{0}");
#endregion
#region View
build = new StringBuilder();
ls = new Dictionary<string, string>();
build.Append("/* 代码由框架生成,任何更改都可能导致被代码生成器覆盖,可自行修改。\r\n");
build.Append("* " + tableName + ".cs\r\n");
build.Append("*\r\n");
build.Append("*功 能: N / A\r\n");
build.Append("* 类 名: " + tableName + "\r\n");
build.Append("*\r\n");
build.Append("* Ver 变更日期 负责人 变更内容\r\n");
build.Append("* ───────────────────────────────────\r\n");
build.Append("*V0.01 " + DateTime.Now.ToString() + " SimonHsiao 初版\r\n");
build.Append("*\r\n");
build.Append("* Copyright(c) " + DateTime.Now.Year + " Tiobon Corporation. All Rights Reserved.\r\n");
build.Append("*┌──────────────────────────────────┐\r\n");
build.Append("*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │\r\n");
build.Append("*│ 作者:SimonHsiao │\r\n");
build.Append("*└──────────────────────────────────┘\r\n");
build.Append("*/ \r\n");
build.Append("\r\n");
build.Append("namespace Tiobon.Core.Model.Models\r\n");
build.Append("{\r\n");
build.Append("\r\n");
build.Append(" /// <summary>\r\n");
build.Append(" /// " + tableName + "\r\n");
build.Append(" /// </summary>\r\n");
build.Append(" public class " + tableName + "Dto : " + tableName + "\r\n");
build.Append(" {\r\n");
build.Append(" }\r\n");
build.Append("}\r\n");
ls.Add(tableName + ".Dto.View", build.ToString());
CreateFilesByClassStringList(ls, strPath + @"\View\" + groupName, "{0}");
#endregion
} }
#endregion #endregion
@ -595,7 +707,7 @@ namespace " + strNameSpace + @"
/// <summary> /// <summary>
/// I{ClassName}Services /// I{ClassName}Services
/// </summary> /// </summary>
public interface I{ClassName}Services :IBaseServices<{ClassName}>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" public interface I{ClassName}Services :IBaseServices<{ClassName}, {ClassName}Dto, Insert{ClassName}Input, Edit{ClassName}Input>" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{ {
} }
}") }")
@ -712,7 +824,7 @@ using Tiobon.Core.IRepository.Base;
namespace " + strNameSpace + @" namespace " + strNameSpace + @"
{ {
public class {ClassName}Services : BaseServices<{ClassName}>, I{ClassName}Services" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @" public class {ClassName}Services : BaseServices<{ClassName}, {ClassName}Dto, Insert{ClassName}Input, Edit{ClassName}Input>, I{ClassName}Services" + (string.IsNullOrEmpty(strInterface) ? "" : (" , " + strInterface)) + @"
{ {
private readonly IBaseRepository<{ClassName}> _dal; private readonly IBaseRepository<{ClassName}> _dal;
public {ClassName}Services(IBaseRepository<{ClassName}> dal) public {ClassName}Services(IBaseRepository<{ClassName}> dal)

@ -0,0 +1,79 @@
using System.Data;
using System.Linq.Expressions;
using SqlSugar;
using Tiobon.Core.Common;
using Tiobon.Core.Model;
namespace Tiobon.Core.IServices.BASE
{
/// <summary>
/// 增删改查接口
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TEntityDto"></typeparam>
/// <typeparam name="TInsertDto"></typeparam>
/// <typeparam name="TEditDto"></typeparam>
public interface IBaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> where TEntity : class
{
ISqlSugarClient Db { get; }
Task<TEntity> QueryById(object objId);
Task<TEntity> QueryById(object objId, bool blnUseCache = false);
Task<List<TEntity>> QueryByIDs(object[] lstIds);
Task<long> Add(TEntity model);
Task<List<long>> Add(List<TEntity> listEntity);
Task<bool> DeleteById(object id);
Task<bool> Delete(TEntity model);
Task<bool> DeleteByIds(object[] ids);
Task<bool> Update(TEntity model);
Task<bool> Update(List<TEntity> model);
Task<bool> Update(TEntity entity, string where);
Task<bool> Update(object operateAnonymousObjects);
Task<bool> Update(TEntity entity, List<string> lstColumns = null, List<string> lstIgnoreColumns = null, string where = "");
Task<List<TEntity>> Query();
Task<List<TEntity>> Query(string where);
Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression);
Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, string orderByFields);
Task<List<TResult>> Query<TResult>(Expression<Func<TEntity, TResult>> expression);
Task<List<TResult>> Query<TResult>(Expression<Func<TEntity, TResult>> expression, Expression<Func<TEntity, bool>> whereExpression, string orderByFields);
Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, Expression<Func<TEntity, object>> orderByExpression, bool isAsc = true);
Task<List<TEntity>> Query(string where, string orderByFields);
Task<List<TEntity>> QuerySql(string sql, SugarParameter[] parameters = null);
Task<DataTable> QueryTable(string sql, SugarParameter[] parameters = null);
Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, int top, string orderByFields);
Task<List<TEntity>> Query(string where, int top, string orderByFields);
Task<List<TEntity>> Query(
Expression<Func<TEntity, bool>> whereExpression, int pageIndex, int pageSize, string orderByFields);
Task<List<TEntity>> Query(string where, int pageIndex, int pageSize, string orderByFields);
Task<PageModel<TEntity>> QueryPage(Expression<Func<TEntity, bool>> whereExpression, int pageIndex = 1, int pageSize = 20, string orderByFields = null);
Task<PageModel<TEntityDto>> QueryFilterPage([FromFilter] QueryFilter filter);
Task<List<TResult>> QueryMuch<T, T2, T3, TResult>(
Expression<Func<T, T2, T3, object[]>> joinExpression,
Expression<Func<T, T2, T3, TResult>> selectExpression,
Expression<Func<T, T2, T3, bool>> whereLambda = null) where T : class, new();
Task<PageModel<TEntity>> QueryPage(PaginationModel pagination);
#region 分表
Task<TEntity> QueryByIdSplit(object objId);
Task<List<long>> AddSplit(TEntity entity);
Task<bool> DeleteSplit(TEntity entity, DateTime dateTime);
Task<bool> UpdateSplit(TEntity entity, DateTime dateTime);
Task<PageModel<TEntity>> QueryPageSplit(Expression<Func<TEntity, bool>> whereExpression, DateTime beginTime, DateTime endTime, int pageIndex = 1, int pageSize = 20, string orderByFields = null);
#endregion
}
}

@ -6,7 +6,7 @@ namespace Tiobon.Core.IServices
/// <summary> /// <summary>
/// IGhra_GradeServices /// IGhra_GradeServices
/// </summary> /// </summary>
public interface IGhra_GradeServices :IBaseServices<Ghra_Grade> public interface IGhra_GradeServices :IBaseServices<Ghra_Grade, Ghra_GradeDto, InsertGhra_GradeInput, EditGhra_GradeInput>
{ {
} }
} }

@ -0,0 +1,27 @@
/* ,
* Ghra_Grade.cs
*
* N / A
* Ghra_Grade
*
* Ver
*
*V0.01 2024/4/12 18:49:06 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghra_Grade
/// </summary>
public class EditGhra_GradeInput : Ghra_Grade
{
}
}

@ -0,0 +1,27 @@
/* ,
* Ghra_Grade.cs
*
* N / A
* Ghra_Grade
*
* Ver
*
*V0.01 2024/4/12 18:49:06 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghra_Grade
/// </summary>
public class InsertGhra_GradeInput : Ghra_Grade
{
}
}

@ -6,7 +6,7 @@
* *
* Ver * Ver
* *
*V0.01 2024/4/12 17:02:53 SimonHsiao *V0.01 2024/4/12 18:49:06 SimonHsiao
* *
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved. * Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
* *
@ -114,5 +114,5 @@ namespace Tiobon.Core.Model.Models
/// ReverseI2 /// ReverseI2
/// </summary> /// </summary>
public int? ReverseI2 { get; set; } public int? ReverseI2 { get; set; }
} }
} }

@ -0,0 +1,27 @@
/* ,
* Ghra_Grade.cs
*
* N / A
* Ghra_Grade
*
* Ver
*
*V0.01 2024/4/12 18:49:06 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghra_Grade
/// </summary>
public class Ghra_GradeDto : Ghra_Grade
{
}
}

@ -1,10 +1,7 @@
using Tiobon.Core.Model; using Tiobon.Core.Model;
using SqlSugar; using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks;
using Tiobon.Core.Common; using Tiobon.Core.Common;
namespace Tiobon.Core.IRepository.Base namespace Tiobon.Core.IRepository.Base

@ -0,0 +1,385 @@
using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions;
using AgileObjects.AgileMapper;
using SqlSugar;
using Tiobon.Core.Common;
using Tiobon.Core.Common.Helper;
using Tiobon.Core.Common.UserManager;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;
namespace Tiobon.Core.Services.BASE
{
/// <summary>
/// 增删改查基础服务
/// </summary>
/// <typeparam name="TEntity"></typeparam>
/// <typeparam name="TEntityDto"></typeparam>
/// <typeparam name="TInsertDto"></typeparam>
/// <typeparam name="TEditDto"></typeparam>
public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> where TEntity : class, new()
{
public BaseServices(IBaseRepository<TEntity> BaseDal = null)
{
this.BaseDal = BaseDal;
}
//public IBaseRepository<TEntity> baseDal = new BaseRepository<TEntity>();
public IBaseRepository<TEntity> BaseDal { get; set; } //通过在子类的构造函数中注入,这里是基类,不用构造函数
public ISqlSugarClient Db => BaseDal.Db;
public async Task<TEntity> QueryById(object objId)
{
return await BaseDal.QueryById(objId);
}
/// <summary>
/// 根据ID查询一条数据
/// </summary>
/// <param name="objId">id(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件</param>
/// <param name="blnUseCache">是否使用缓存</param>
/// <returns>数据实体</returns>
public async Task<TEntity> QueryById(object objId, bool blnUseCache = false)
{
return await BaseDal.QueryById(objId, blnUseCache);
}
/// <summary>
/// 根据ID查询数据
/// </summary>
/// <param name="lstIds">id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件</param>
/// <returns>数据实体列表</returns>
public async Task<List<TEntity>> QueryByIDs(object[] lstIds)
{
return await BaseDal.QueryByIDs(lstIds);
}
/// <summary>
/// 写入实体数据
/// </summary>
/// <param name="entity">博文实体类</param>
/// <returns></returns>
public async Task<long> Add(TEntity entity)
{
var userId = UserContext.Current.User_Id;
return await BaseDal.Add(entity);
}
/// <summary>
/// 批量插入实体(速度快)
/// </summary>
/// <param name="listEntity">实体集合</param>
/// <returns>影响行数</returns>
public async Task<List<long>> Add(List<TEntity> listEntity)
{
return await BaseDal.Add(listEntity);
}
/// <summary>
/// 更新实体数据
/// </summary>
/// <param name="entity">博文实体类</param>
/// <returns></returns>
public async Task<bool> Update(TEntity entity)
{
return await BaseDal.Update(entity);
}
/// <summary>
/// 更新实体数据
/// </summary>
/// <param name="entity">博文实体类</param>
/// <returns></returns>
public async Task<bool> Update(List<TEntity> entity)
{
return await BaseDal.Update(entity);
}
public async Task<bool> Update(TEntity entity, string where)
{
return await BaseDal.Update(entity, where);
}
public async Task<bool> Update(object operateAnonymousObjects)
{
return await BaseDal.Update(operateAnonymousObjects);
}
public async Task<bool> Update(
TEntity entity,
List<string> lstColumns = null,
List<string> lstIgnoreColumns = null,
string where = ""
)
{
return await BaseDal.Update(entity, lstColumns, lstIgnoreColumns, where);
}
/// <summary>
/// 根据实体删除一条数据
/// </summary>
/// <param name="entity">博文实体类</param>
/// <returns></returns>
public async Task<bool> Delete(TEntity entity)
{
return await BaseDal.Delete(entity);
}
/// <summary>
/// 删除指定ID的数据
/// </summary>
/// <param name="id">主键ID</param>
/// <returns></returns>
public async Task<bool> DeleteById(object id)
{
return await BaseDal.DeleteById(id);
}
/// <summary>
/// 删除指定ID集合的数据(批量删除)
/// </summary>
/// <param name="ids">主键ID集合</param>
/// <returns></returns>
public async Task<bool> DeleteByIds(object[] ids)
{
return await BaseDal.DeleteByIds(ids);
}
/// <summary>
/// 查询所有数据
/// </summary>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query()
{
return await BaseDal.Query();
}
/// <summary>
/// 查询数据列表
/// </summary>
/// <param name="where">条件</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(string where)
{
return await BaseDal.Query(where);
}
/// <summary>
/// 查询数据列表
/// </summary>
/// <param name="whereExpression">whereExpression</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression)
{
return await BaseDal.Query(whereExpression);
}
/// <summary>
/// 按照特定列查询数据列表
/// </summary>
/// <typeparam name="TResult"></typeparam>
/// <param name="expression"></param>
/// <returns></returns>
public async Task<List<TResult>> Query<TResult>(Expression<Func<TEntity, TResult>> expression)
{
return await BaseDal.Query(expression);
}
/// <summary>
/// 按照特定列查询数据列表带条件排序
/// </summary>
/// <typeparam name="TResult"></typeparam>
/// <param name="whereExpression">过滤条件</param>
/// <param name="expression">查询实体条件</param>
/// <param name="orderByFileds">排序条件</param>
/// <returns></returns>
public async Task<List<TResult>> Query<TResult>(Expression<Func<TEntity, TResult>> expression, Expression<Func<TEntity, bool>> whereExpression, string orderByFileds)
{
return await BaseDal.Query(expression, whereExpression, orderByFileds);
}
/// <summary>
/// 查询一个列表
/// </summary>
/// <param name="whereExpression">条件表达式</param>
/// <param name="strOrderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, Expression<Func<TEntity, object>> orderByExpression, bool isAsc = true)
{
return await BaseDal.Query(whereExpression, orderByExpression, isAsc);
}
public async Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, string orderByFileds)
{
return await BaseDal.Query(whereExpression, orderByFileds);
}
/// <summary>
/// 查询一个列表
/// </summary>
/// <param name="where">条件</param>
/// <param name="orderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(string where, string orderByFileds)
{
return await BaseDal.Query(where, orderByFileds);
}
/// <summary>
/// 根据sql语句查询
/// </summary>
/// <param name="sql">完整的sql语句</param>
/// <param name="parameters">参数</param>
/// <returns>泛型集合</returns>
public async Task<List<TEntity>> QuerySql(string sql, SugarParameter[] parameters = null)
{
return await BaseDal.QuerySql(sql, parameters);
}
/// <summary>
/// 根据sql语句查询
/// </summary>
/// <param name="sql">完整的sql语句</param>
/// <param name="parameters">参数</param>
/// <returns>DataTable</returns>
public async Task<DataTable> QueryTable(string sql, SugarParameter[] parameters = null)
{
return await BaseDal.QueryTable(sql, parameters);
}
/// <summary>
/// 查询前N条数据
/// </summary>
/// <param name="whereExpression">条件表达式</param>
/// <param name="top">前N条</param>
/// <param name="orderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(Expression<Func<TEntity, bool>> whereExpression, int top, string orderByFileds)
{
return await BaseDal.Query(whereExpression, top, orderByFileds);
}
/// <summary>
/// 查询前N条数据
/// </summary>
/// <param name="where">条件</param>
/// <param name="top">前N条</param>
/// <param name="orderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(
string where,
int top,
string orderByFileds)
{
return await BaseDal.Query(where, top, orderByFileds);
}
/// <summary>
/// 分页查询
/// </summary>
/// <param name="whereExpression">条件表达式</param>
/// <param name="pageIndex">页码(下标0)</param>
/// <param name="pageSize">页大小</param>
/// <param name="orderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(
Expression<Func<TEntity, bool>> whereExpression,
int pageIndex,
int pageSize,
string orderByFileds)
{
return await BaseDal.Query(
whereExpression,
pageIndex,
pageSize,
orderByFileds);
}
/// <summary>
/// 分页查询
/// </summary>
/// <param name="where">条件</param>
/// <param name="pageIndex">页码(下标0)</param>
/// <param name="pageSize">页大小</param>
/// <param name="orderByFileds">排序字段,如name asc,age desc</param>
/// <returns>数据列表</returns>
public async Task<List<TEntity>> Query(
string where,
int pageIndex,
int pageSize,
string orderByFileds)
{
return await BaseDal.Query(
where,
pageIndex,
pageSize,
orderByFileds);
}
public async Task<PageModel<TEntity>> QueryPage(Expression<Func<TEntity, bool>> whereExpression,
int pageIndex = 1, int pageSize = 20, string orderByFileds = null)
{
return await BaseDal.QueryPage(whereExpression,
pageIndex, pageSize, orderByFileds);
}
public async Task<PageModel<TEntityDto>> QueryFilterPage([FromFilter] QueryFilter filter)
{
var data = await BaseDal.QueryFilterPage(filter);
return new PageModel<TEntityDto>(filter.PageIndex, data.dataCount, filter.PageSize, Mapper.Map(data.data).ToANew<List<TEntityDto>>());
}
public async Task<List<TResult>> QueryMuch<T, T2, T3, TResult>(Expression<Func<T, T2, T3, object[]>> joinExpression, Expression<Func<T, T2, T3, TResult>> selectExpression, Expression<Func<T, T2, T3, bool>> whereLambda = null) where T : class, new()
{
return await BaseDal.QueryMuch(joinExpression, selectExpression, whereLambda);
}
public async Task<PageModel<TEntity>> QueryPage(PaginationModel pagination)
{
var express = DynamicLinqFactory.CreateLambda<TEntity>(pagination.Conditions);
return await QueryPage(express, pagination.PageIndex, pagination.PageSize, pagination.OrderByFileds);
}
#region 分表
public async Task<List<long>> AddSplit(TEntity entity)
{
return await BaseDal.AddSplit(entity);
}
public async Task<bool> UpdateSplit(TEntity entity, DateTime dateTime)
{
return await BaseDal.UpdateSplit(entity, dateTime);
}
/// <summary>
/// 根据实体删除一条数据
/// </summary>
/// <param name="entity">博文实体类</param>
/// <returns></returns>
public async Task<bool> DeleteSplit(TEntity entity, DateTime dateTime)
{
return await BaseDal.DeleteSplit(entity, dateTime);
}
public async Task<TEntity> QueryByIdSplit(object objId)
{
return await BaseDal.QueryByIdSplit(objId);
}
public async Task<PageModel<TEntity>> QueryPageSplit(Expression<Func<TEntity, bool>> whereExpression, DateTime beginTime, DateTime endTime,
int pageIndex = 1, int pageSize = 20, string orderByFields = null)
{
return await BaseDal.QueryPageSplit(whereExpression, beginTime, endTime,
pageIndex, pageSize, orderByFields);
}
#endregion
}
}

@ -6,7 +6,7 @@ using Tiobon.Core.IRepository.Base;
namespace Tiobon.Core.Services namespace Tiobon.Core.Services
{ {
public class Ghra_GradeServices : BaseServices<Ghra_Grade>, IGhra_GradeServices public class Ghra_GradeServices : BaseServices<Ghra_Grade, Ghra_GradeDto, InsertGhra_GradeInput, EditGhra_GradeInput>, IGhra_GradeServices
{ {
private readonly IBaseRepository<Ghra_Grade> _dal; private readonly IBaseRepository<Ghra_Grade> _dal;
public Ghra_GradeServices(IBaseRepository<Ghra_Grade> dal) public Ghra_GradeServices(IBaseRepository<Ghra_Grade> dal)

@ -9,6 +9,10 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<OutputPath>..\Tiobon.Core\bin\Release\</OutputPath> <OutputPath>..\Tiobon.Core\bin\Release\</OutputPath>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="AgileObjects.AgileMapper" Version="1.8.1" />
</ItemGroup>
<ItemGroup> <ItemGroup>

Loading…
Cancel
Save