Files
zszq-trs/YLErpDAL/Modules/TradeModule/TradeGroupBLL.cs
T
2024-05-09 14:06:26 +08:00

102 lines
2.9 KiB
C#

using BaseOUDAL;
namespace YLErp.BLL
{
public class trade_groupBLL
{
private YLContext db = new YLContext();
public static volatile bool IsListOld = true;
public static object TradeGroupListLock = new object();
private static List<TradeGroup> Alltrade_groupModel = null;
public static List<TradeGroup> GetAlltrade_groupModel()
{
if (Alltrade_groupModel == null)
{
lock (TradeGroupListLock)
{
if (Alltrade_groupModel == null)
{
using (YLContext con = new YLContext())
{
Alltrade_groupModel = con.trade_group.ToList();
}
}
}
}
return Alltrade_groupModel;
}
public static void RefreshTradeGroupWithTask()
{
Task.Factory.StartNew(RefreshTradeGroupModel);
}
public static void RefreshTradeGroupModel()
{
Alltrade_groupModel = null;
lock (TradeGroupListLock)
{
using (YLContext con = new YLContext())
{
Alltrade_groupModel = con.trade_group.ToList();
}
}
}
/// <summary>
/// 查询trade_group
/// </summary>
public SearchListResult<TradeGroup> SearchList(TradeGroupReq req)
{
var query = from source in db.trade_group select source;
if (req.OptId != null)
{
query = query.Where(d => d.OptId == req.OptId);
}
if (!string.IsNullOrEmpty(req.OptName))
{
query = query.Where(d => d.OptName.Contains(req.OptName));
}
if (req.ValidState == "InValid")
{
query = query.Where(d => d.ValidState.Equals(req.ValidState));
}
else
{
query = query.Where(d => !d.ValidState.Equals("InValid"));
}
if (req.OptDateStart != DateTime.MinValue)
{
query = query.Where(d => d.OptDate >= req.OptDateStart);
}
if (req.OptDateEnd != DateTime.MinValue)
{
DateTime OptDateTemp = req.OptDateEnd.AddDays(1);
query = query.Where(d => d.OptDate < OptDateTemp);
}
if (!string.IsNullOrEmpty(req.GroupName))
{
query = query.Where(d => d.GroupName.Contains(req.GroupName));
}
if (string.IsNullOrEmpty(req.sidx))
{
req.sidx = "id";
req.sord = "desc";
}
SearchListResult<TradeGroup> retListResult = query.ToSearchList(req);
return retListResult;
}
}
}