using BaseOUDAL;
namespace YLErp.Modules.ClientModule
{
///
/// 客户定价参数服务
///
public class ClientPricingParamService : YLBaseService
{
public ClientPricingParamService(OptUserInfo userInfo) : base(userInfo)
{
}
///
/// 获取有效的客户报价参数
///
public static ClientPricingParam GetPricingParam(DateTime startdate, DateTime exercisedate)
{
return DbContextFactory.GetYLDbContext().client_pricing_param.FirstOrDefault(c => c.option_startdate == startdate && c.option_exercisedate == exercisedate && c.validstate != "InValid");
}
///
/// 查询client_pricing_param
///
public SearchListResult SearchList(ClientPricingParamReq req)
{
var query = DbContext.client_pricing_param.AsNoTracking().AsQueryable();
if (req.option_startdateStart != DateTime.MinValue)
{
query = query.Where(d => d.option_startdate >= req.option_startdateStart);
}
if (req.option_startdateEnd != DateTime.MinValue)
{
DateTime option_startdateTemp = req.option_startdateEnd.AddDays(1);
query = query.Where(d => d.option_startdate < option_startdateTemp);
}
if (req.option_exercisedateStart != DateTime.MinValue)
{
query = query.Where(d => d.option_exercisedate >= req.option_exercisedateStart);
}
if (req.option_exercisedateEnd != DateTime.MinValue)
{
DateTime option_exercisedateTemp = req.option_exercisedateEnd.AddDays(1);
query = query.Where(d => d.option_exercisedate < option_exercisedateTemp);
}
if (req.bid_tuning_day != null)
{
query = query.Where(d => d.bid_tuning_day == req.bid_tuning_day);
}
if (req.ask_tuning_day != null)
{
query = query.Where(d => d.ask_tuning_day == req.ask_tuning_day);
}
if (req.createdateStart != DateTime.MinValue)
{
query = query.Where(d => d.createdate >= req.createdateStart);
}
if (req.createdateEnd != DateTime.MinValue)
{
DateTime createdateTemp = req.createdateEnd.AddDays(1);
query = query.Where(d => d.createdate < createdateTemp);
}
if (!string.IsNullOrEmpty(req.optname))
{
query = query.Where(d => d.optname.Contains(req.optname));
}
if (req.optid != null)
{
query = query.Where(d => d.optid == req.optid);
}
if (req.updatedateStart != DateTime.MinValue)
{
query = query.Where(d => d.updatedate >= req.updatedateStart);
}
if (req.updatedateEnd != DateTime.MinValue)
{
DateTime updatedateTemp = req.updatedateEnd.AddDays(1);
query = query.Where(d => d.updatedate < updatedateTemp);
}
if (!string.IsNullOrEmpty(req.validstate))
{
if (req.validstate == "InValid")
{
query = query.Where(d => d.validstate.Equals(req.validstate));
}
else
{
query = query.Where(d => !d.validstate.Equals("InValid"));
}
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "id";
req.sord = "desc";
}
return query.ToSearchList(req);
}
}
///
/// 客户定价参数查询请求
///
public class ClientPricingParamReq : BaseSearchReq
{
///
/// 期权开始日
///
public DateTime? option_startdate { get; set; }
public DateTime option_startdateStart { get; set; }
public DateTime option_startdateEnd { get; set; }
///
/// 期权到期日
///
public DateTime? option_exercisedate { get; set; }
public DateTime option_exercisedateStart { get; set; }
public DateTime option_exercisedateEnd { get; set; }
///
/// 买价调整天数
///
public int? bid_tuning_day { get; set; }
///
/// 卖价调整天数
///
public int? ask_tuning_day { get; set; }
///
/// 创建时间_createdate
///
public DateTime? createdate { get; set; }
public DateTime createdateStart { get; set; }
public DateTime createdateEnd { get; set; }
///
/// 操作员_optname
///
public string optname { get; set; }
///
/// 操作员信息_optid
///
public int? optid { get; set; }
///
/// 更新日期_updatedate
///
public DateTime? updatedate { get; set; }
public DateTime updatedateStart { get; set; }
public DateTime updatedateEnd { get; set; }
///
/// 有效状态_validstate
///
public string validstate { get; set; }
}
}