using Infrastructure.Attribute; using Infrastructure.Extensions; using ZR.Model.Business.Dto; using ZR.Model.Business; using ZR.Repository; using ZR.Service.Business.IBusinessService; namespace ZR.Service.Business { /// /// 礼品申领表Service业务层处理 /// [AppService(ServiceType = typeof(IGiftClaimService), ServiceLifetime = LifeTime.Transient)] public class GiftClaimService : BaseService, IGiftClaimService { /// /// 查询礼品申领表列表 /// /// /// public PagedInfo GetList(GiftClaimQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() //.OrderBy("Id desc") .Where(predicate.ToExpression()) .ToPage(parm); //response.Result.ForEach(item => //{ // if (item.ProductImage.IndexOf("http") == -1) // { // item.ProductImage = "" + // } //}); return response; } /// /// 获取详情 /// /// /// public GiftClaim GetInfo(int Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加礼品申领表 /// /// /// public GiftClaim AddGiftClaim(GiftClaim model) { return Insertable(model).ExecuteReturnEntity(); } /// /// 修改礼品申领表 /// /// /// public int UpdateGiftClaim(GiftClaim model) { return Update(model, true); } /// /// 导出礼品申领表 /// /// /// public PagedInfo ExportList(GiftClaimQueryDto parm) { parm.PageNum = 1; parm.PageSize = 100000; var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) .Select((it) => new GiftClaimDto() { StatusLabel = it.Status.GetConfigValue("gift_request_claim"), }, true) .ToPage(parm); return response; } /// /// 查询导出表达式 /// /// /// private static Expressionable QueryExp(GiftClaimQueryDto parm) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Name), it => it.Name.Contains(parm.Name)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Phone), it => it.Phone.Contains(parm.Phone)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Company), it => it.Company.Contains(parm.Company)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Address), it => it.Address.Contains(parm.Address)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ProductModel), it => it.ProductModel.Contains(parm.ProductModel)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ProductSerialNumber), it => it.ProductSerialNumber.Contains(parm.ProductSerialNumber)); predicate = predicate.AndIF(parm.Status != null, it => it.Status == parm.Status); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.UserWxOpenId), it => it.UserWxOpenId.Contains(parm.UserWxOpenId)); return predicate; } } }