You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.9 KiB
69 lines
1.9 KiB
using System.Linq.Expressions;
|
|
using Entity.DbModel.Station;
|
|
using HybirdFrameworkCore.Autofac.Attribute;
|
|
using HybirdFrameworkCore.Entity;
|
|
using SqlSugar;
|
|
|
|
namespace Repository.Station;
|
|
|
|
[Scope("SingleInstance")]
|
|
public class ChargeOrderRepository : BaseRepository<ChargeOrder>
|
|
{
|
|
|
|
public ChargeOrderRepository(ISqlSugarClient sqlSugar) : base(sqlSugar)
|
|
{
|
|
}
|
|
public IPage<ChargeOrder> QueryIPage(QueryPageModel page, Expression<Func<ChargeOrder, bool>> predicate)
|
|
{
|
|
if (null == predicate)
|
|
{
|
|
return QueryPage(page);
|
|
}
|
|
|
|
int totalCount = 0;
|
|
|
|
|
|
List<ChargeOrder> pageList = DbBaseClient
|
|
.Queryable<ChargeOrder>()
|
|
.Where(predicate)
|
|
.OrderByDescending(x => x.CreatedTime)
|
|
.WithNoLockOrNot(false)
|
|
.ToPageList(page.PageNum, page.PageSize, ref totalCount);
|
|
|
|
return new IPage<ChargeOrder>(totalCount, page, pageList);
|
|
}
|
|
/// <summary>
|
|
/// 查询需要导出充电订单
|
|
/// </summary>
|
|
/// <param name="predicate"></param>
|
|
/// <returns></returns>
|
|
public async Task<List<ChargeOrder>> QueryChargeOrderList(Expression<Func<ChargeOrder, bool>> predicate)
|
|
{
|
|
if (predicate == null)
|
|
{
|
|
return await QueryAsync();
|
|
}
|
|
|
|
List<ChargeOrder> resultList = await DbBaseClient
|
|
.Queryable<ChargeOrder>()
|
|
.Where(predicate)
|
|
.WithNoLockOrNot(false)
|
|
.ToListAsync();
|
|
|
|
return resultList;
|
|
}
|
|
|
|
public IPage<ChargeOrder> QueryPage(QueryPageModel page)
|
|
{
|
|
int totalCount = 0;
|
|
|
|
|
|
List<ChargeOrder> pageList = DbBaseClient
|
|
.Queryable<ChargeOrder>()
|
|
.OrderByDescending(x => x.CreatedTime)
|
|
.WithNoLockOrNot(false)
|
|
.ToPageList(page.PageNum, page.PageSize, ref totalCount);
|
|
|
|
return new IPage<ChargeOrder>(totalCount, page, pageList);
|
|
}
|
|
} |