using BaseOUDAL;
using YLErp.Model;
namespace YLErp.BLL
{
///
/// 当前主要用在老版的API
///
public class assetunitBLL
{
private readonly YLContext db = new YLContext();
public static List GetAllAssetUnitModel()
{
return Modules.DataCacheProvider.GetAssetUnitDataSource().AsQueryable().ToList();
}
///
/// 查询assetunit
///
public SearchListResult 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;
}
}
}