using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Domain.Values.Single;
namespace WMS.Web.Domain.IService.Public
{
///
/// 单点数据返回服务接口
///
public interface ISingleDataService
{
///
/// 获取单点数据:根据方法名和公司ID
///
///
///
///
///
string GetSingleData(SingleAction action, int companyId, int id);
///
/// 获取单点数据:根据方法名和公司ID
///
///
///
///
///
decimal GetSingleDataNumber(SingleAction action, int companyId, int id);
///
/// 获取单点数据:根据方法名和公司ID
///
///
///
///
///
string GetSingleDataCode(SingleAction action, int companyId, int id);
///
/// 获取单点数据:根据方法名和公司ID
///
///
///
///
///
string GetSingleData(SingleAction action, int companyId, string code);
///
/// 根据名字模糊匹配
///
///
///
///
///
List GetIdsBySingleName(SingleAction action, int companyId, string name);
///
/// 获取单点数据集合:泛型-同步
///
///
///
///
///
List GetSingleData(SingleAction action, int companyId) where T : class;
///
/// 获取单点数据集合:泛型-异步
///
///
///
///
///
Task> GetSingleDataAsync(SingleAction action, int companyId) where T : class;
///
/// 获取单点数据集合:泛型-异步-无缓存
///
///
///
///
///
Task> GetSingleDataNoCacheAsync(SingleAction action, int companyId) where T : class;
///
/// 单点数据:可对接全部接口
///
/// 返回对象
/// 请求对象
/// 方法名称
/// 请求对象
/// 方法名称
/// 控制器名称
///
Task GetSingleData(X dto, Y action, SingleControllerType type = SingleControllerType.Single) where T : class;
///
/// 单点数据:可对接全部接口-无缓存
///
///
///
///
///
///
///
///
Task GetSingleDataNoCache(X dto, Y action, SingleControllerType type = SingleControllerType.Single) where T : class;
///
/// 获取单点数据:请求对象和接口方法名
///
///
///
///
///
///
Task GetSysConfigData(X dto, SysConfigAction action);
///
/// 获取客户仓库
///
///
///
///
string GetCustomerStock(int companyId, string customerStockCode);
}
}