using System.Collections.Generic;
using System.Threading.Tasks;
using MDL.Models;
namespace DAL.Interfaces
{
///
/// 客户资料的数据访问接口
///
public interface ICustomerRepository
{
///
/// 创建客户记录
///
/// 客户实体
/// 创建的记录ID
Task CreateAsync(CustomerEntity entity);
///
/// 根据ID获取客户记录
///
/// 记录ID
/// 客户实体
Task GetByIdAsync(int id);
///
/// 根据客户代码获取客户记录
///
/// 客户代码
/// 客户实体
Task GetByCustomerCodeAsync(string customerCode);
///
/// 更新客户记录
///
/// 客户实体
/// 更新是否成功
Task UpdateAsync(CustomerEntity entity);
///
/// 删除客户记录
///
/// 记录ID
/// 删除是否成功
Task DeleteAsync(int id);
///
/// 获取所有客户记录
///
/// 客户实体列表
Task> GetAllAsync();
///
/// 检查客户是否存在
///
/// 客户代码
/// 是否存在
Task ExistsAsync(string customerCode);
///
/// 根据ID列表批量获取客户记录
///
/// ID列表
/// 客户实体列表
Task> GetByIdsAsync(List ids);
}
}