63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using BaseOUDAL;
|
|
using YLErp.Model;
|
|
|
|
namespace YLErp.BLL
|
|
{
|
|
/// <summary>
|
|
/// 当前主要用在老版的API
|
|
/// </summary>
|
|
public class assetunitBLL
|
|
{
|
|
private readonly YLContext db = new YLContext();
|
|
|
|
public static List<AssetUnit> GetAllAssetUnitModel()
|
|
{
|
|
return Modules.DataCacheProvider.GetAssetUnitDataSource().AsQueryable().ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询assetunit
|
|
/// </summary>
|
|
public SearchListResult<AssetUnit> SearchList(AssetunitReq req)
|
|
{
|
|
var query = from source in db.assetunit select source;
|
|
|
|
if (!string.IsNullOrEmpty(req.Name))
|
|
{
|
|
query = query.Where(d => d.Name.Contains(req.Name));
|
|
}
|
|
|
|
if (req.NameList != null)
|
|
{ query = query.Where(d => req.NameList.Contains(d.Name)); }
|
|
|
|
if (!string.IsNullOrEmpty(req.BaseCurrency))
|
|
{
|
|
query = query.Where(d => d.BaseCurrency.Contains(req.BaseCurrency));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(req.UserGroup))
|
|
{
|
|
query = query.Where(d => d.UserGroup.Contains(req.UserGroup));
|
|
}
|
|
|
|
if (req.TraderIdList != null && req.TraderIdList.Count > 0)
|
|
{
|
|
var ids = query.ToList().Where(d => req.TraderIdList.Intersect(d.TraderIdsInt).Any()).Select(x => x.id);
|
|
query = query.Where(d => ids.Contains(d.id));
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(req.sidx))
|
|
{
|
|
req.sidx = "id";
|
|
req.sord = "desc";
|
|
}
|
|
|
|
var retListResult = query.ToSearchList(req);
|
|
var groups = db.assetunitgroup.ToList();
|
|
retListResult.rows.ToList().ForEach(x => x.GroupName = groups.FirstOrDefault(y => y.id == x.GroupId)?.Name);
|
|
|
|
return retListResult;
|
|
}
|
|
}
|
|
}
|