using Infrastructure.Attribute; using Infrastructure.Extensions; using DOAN.Model.PBL.Dto; using DOAN.Model.PBL; using DOAN.Repository; using DOAN.Service.PBL.IService; namespace DOAN.Service.PBL { /// /// 物料清单Service业务层处理 /// [AppService(ServiceType = typeof(IBillofmaterialsService), ServiceLifetime = LifeTime.Transient)] public class BillofmaterialsService : BaseService, IBillofmaterialsService { /// /// 查询物料清单列表 /// /// /// public PagedInfo GetList(BillofmaterialsQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public Billofmaterials GetInfo(int Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加物料清单 /// /// /// public Billofmaterials AddBillofmaterials(Billofmaterials model) { return Insertable(model).ExecuteReturnEntity(); } /// /// 修改物料清单 /// /// /// public int UpdateBillofmaterials(Billofmaterials model) { return Update(model, true); } /// /// 查询导出表达式 /// /// /// private static Expressionable QueryExp(BillofmaterialsQueryDto parm) { var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.Productname), it => it.Productname.Contains(parm.Productname)) .AndIF(!string.IsNullOrEmpty(parm.Productcode), it => it.Productcode.Contains(parm.Productcode)) .AndIF(!string.IsNullOrEmpty(parm.MirrorshellName), it => it.MirrorshellName.Contains(parm.MirrorshellName)) .AndIF(!string.IsNullOrEmpty(parm.MirrorshellCode), it => it.MirrorshellCode.Contains(parm.MirrorshellCode)) .AndIF(!string.IsNullOrEmpty(parm.MirrorbodyName), it => it.MirrorbodyName.Contains(parm.MirrorbodyName)) .AndIF(!string.IsNullOrEmpty(parm.MirrorbodyCode), it => it.MirrorbodyCode.Contains(parm.MirrorbodyCode)) ; return predicate; } } }