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; } } }