/***********************************************************************
* Project: baifenBinfa
* ProjectName: 百分兵法管理系统
* Web: http://chuanyin.com
* Author:
* Email:
* CreateTime: 202403/02
* Description: 暂无
***********************************************************************/
using System;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration;
using CoreCms.Net.IRepository;
using CoreCms.Net.IRepository.UnitOfWork;
using CoreCms.Net.IServices;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
namespace CoreCms.Net.Services
{
///
/// 门店表 接口实现
///
public class CoreCmsStoreServices : BaseServices, ICoreCmsStoreServices
{
private readonly ICoreCmsStoreRepository _dal;
private readonly IUnitOfWork _unitOfWork;
public CoreCmsStoreServices(IUnitOfWork unitOfWork, ICoreCmsStoreRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
_unitOfWork = unitOfWork;
}
///
/// 重写异步插入方法
///
/// 实体数据
///
public async Task InsertAsync(CoreCmsStore entity)
{
return await _dal.InsertAsync(entity);
}
///
/// 重写异步更新方法方法
///
///
///
public async Task UpdateAsync(CoreCmsStore entity)
{
return await _dal.UpdateAsync(entity);
}
#region Sql根据条件查询分页数据带距离
///
/// Sql根据条件查询分页数据带距离
///
/// 判断集合
/// 排序方式
/// 当前页面索引
/// 分布大小
///
/// 纬度
/// 精度
///
public async Task> QueryPageAsyncByCoordinate(Expression> predicate,
Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, decimal latitude = 0, decimal longitude = 0)
{
return await _dal.QueryPageAsyncByCoordinate(predicate, orderByExpression, orderByType, pageIndex, pageSize, latitude, longitude);
}
#endregion
///
/// 根据用户序列获取单个门店数据
///
/// 用户序列
/// 门店序列
/// 是否使用WITH(NOLOCK)
///
public async Task GetStoreByUserId(int userId, int storeId, bool blUseNoLock = false)
{
return await _dal.GetStoreByUserId(userId, storeId, blUseNoLock);
}
}
}