102 lines
2.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|