Files
zszq-trs/YLErpDAL/Modules/ClientModule/ClientPricingParamService.cs
2024-05-09 14:06:26 +08:00

176 lines
5.5 KiB
C#

using BaseOUDAL;
namespace YLErp.Modules.ClientModule
{
/// <summary>
/// 客户定价参数服务
/// </summary>
public class ClientPricingParamService : YLBaseService
{
public ClientPricingParamService(OptUserInfo userInfo) : base(userInfo)
{
}
/// <summary>
/// 获取有效的客户报价参数
/// </summary>
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");
}
/// <summary>
/// 查询client_pricing_param
/// </summary>
public SearchListResult<ClientPricingParam> 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);
}
}
/// <summary>
/// 客户定价参数查询请求
/// </summary>
public class ClientPricingParamReq : BaseSearchReq
{
/// <summary>
/// 期权开始日
/// </summary>
public DateTime? option_startdate { get; set; }
public DateTime option_startdateStart { get; set; }
public DateTime option_startdateEnd { get; set; }
/// <summary>
/// 期权到期日
/// </summary>
public DateTime? option_exercisedate { get; set; }
public DateTime option_exercisedateStart { get; set; }
public DateTime option_exercisedateEnd { get; set; }
/// <summary>
/// 买价调整天数
/// </summary>
public int? bid_tuning_day { get; set; }
/// <summary>
/// 卖价调整天数
/// </summary>
public int? ask_tuning_day { get; set; }
/// <summary>
/// 创建时间_createdate
/// </summary>
public DateTime? createdate { get; set; }
public DateTime createdateStart { get; set; }
public DateTime createdateEnd { get; set; }
/// <summary>
/// 操作员_optname
/// </summary>
public string optname { get; set; }
/// <summary>
/// 操作员信息_optid
/// </summary>
public int? optid { get; set; }
/// <summary>
/// 更新日期_updatedate
/// </summary>
public DateTime? updatedate { get; set; }
public DateTime updatedateStart { get; set; }
public DateTime updatedateEnd { get; set; }
/// <summary>
/// 有效状态_validstate
/// </summary>
public string validstate { get; set; }
}
}