zhengyuxuan
2025-03-19 54cc507a31a7510460850302bf3282dbfe6a12b7
LifePayment/LifePayment.Domain/Common/ChannelFilter.cs
@@ -1,21 +1,33 @@
using System;
using LifePayment.Application.Contracts;
using LifePayment.Domain;
using LifePayment.Domain.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using Z.EntityFramework.Plus;
using ZeroD.Util;
namespace LifePayment.Domain.Common
{
    //public class ChannelFilter : AbstractChannelFilter
    //{
    //    public async Task<IQueryable<ChannelsBase>> GetPolicyFilter<ChannelsBase, TKey>(IQueryable<ChannelsBase> query)
    //    {
    //        throw new NotImplementedException();
    //    }
    //}
    public class ChannelFilter : AbstractChannelFilter
    {
        public async override Task<IQueryable<ChannelsBase>> GetChannelFilter(IQueryable<ChannelsBase> query)
        {
            var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
            var queryResult = query.Where(s => queryUser.Contains(s.ChannleId));
            return queryResult;
        }
    }
    //public class ChannelsBase:IChannelFilter
    //{
    //   // public Guid ChannelId { get; set; }
    //}
    public class ChannelsBase : Entity<Guid>
    {
        public Guid ChannleId { get; set; }
    }
}