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.Threading.Channels;
|
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 override IQueryable<LifePayOrder> GetChannelLifePayOrderFilter(IQueryable<LifePayOrder> query)
|
{
|
if (CurrentUser.ClientId == Constant.ClientType.Back)
|
{
|
var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
|
var queryResult = query.Where(s => (s.ChannelId.HasValue && queryUser.Contains(s.ChannelId.Value)) || !s.ChannelId.HasValue);
|
return queryResult;
|
}
|
|
return query;
|
}
|
}
|
|
public class ChannelsBase : Entity<Guid>
|
{
|
public Guid ChannleId { get; set; }
|
|
}
|
}
|