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; } } }