using BaseOUDAL;
using YLErp.Models;
namespace YLErp.Modules.ClientModule
{
///
/// 服务商配置服务
///
public class ServicerePresentativeConfigService : ClientBaseService
{
public ServicerePresentativeConfigService(OptUserInfo userInfo) : base(userInfo)
{
}
///
/// 查询servicerepresentativeconfig
///
public SearchListResult SearchList(ServiceRepresentativeConfigReq req)
{
var query = from source in DbContext.servicerepresentativeconfig
//join service in DbContext.client on source.ServiceId equals service.id
select new ServiceconfigView
{
id = source.id,
PremiumRateVariation = source.PremiumRateVariation,
ServiceId = source.ServiceId,
//ServiceName = service.Name,
Alias = source.Alias,
DefaultTradeInstruction = source.DefaultTradeInstruction,
//ContractVersion = source.ContractVersion,
StockBuyContractVersion = source.StockBuyContractVersion,
StockSellContractVersion = source.StockSellContractVersion,
FutureBuyContractVersion = source.FutureBuyContractVersion,
FutureSellContractVersion = source.FutureSellContractVersion,
DefaultPremiumRate = source.DefaultPremiumRate,
SellerRightDeliveryDayType = source.SellerRightDeliveryDayType,
ContractNoLength = source.ContractNoLength,
ContractSubNoStyle = source.ContractSubNoStyle,
ExerciseRule = source.ExerciseRule,
ValidState = source.ValidState
};
if (req.ServiceId != null)
{
query = query.Where(d => d.ServiceId == req.ServiceId);
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "id";
req.sord = "desc";
}
var retListResult = query.ToSearchList(req);
foreach (var item in retListResult.rows)
{
item.ServiceName = DataCacheProvider.GetClientDataSource().GetData(item.ServiceId)?.Name;
}
return retListResult;
}
///
/// 渠道服务商数据
///
public static ServiceRepresentativeConfig GetData(int serviceId)
{
using (var db = DbContextFactory.GetClientDbContext(null))
{
return db.servicerepresentativeconfig.AsNoTracking().FirstOrDefault(x => x.ServiceId == serviceId);
}
}
///
/// 渠道服务商数据
///
public static IEnumerable GetDatas(IEnumerable serviceIds)
{
using (var db = DbContextFactory.GetClientDbContext(null))
{
return db.servicerepresentativeconfig.AsNoTracking().Where(x => serviceIds.Contains(x.ServiceId)).ToArray();
}
}
}
///
/// 服务商配置查询请求
///
public class ServiceRepresentativeConfigReq : BaseSearchReq
{
///
/// 服务商的Id
///
public int? ServiceId { get; set; }
///
/// 加成费率
///
public double? PremiumRateVariation { get; set; }
///
/// 操作人_OptId
///
public int? OptId { get; set; }
///
/// 操作人_OptName
///
public string OptName { get; set; }
///
/// 操作时间_OptDate
///
public DateTime? OptDate { get; set; }
///
/// 服务商别名
///
public string Alias { get; set; }
///
/// 卖方权利金交割日类型
///
public int? SellerRightDeliveryDayType { get; set; }
}
}