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 && !CurrentUser.IsSystem)
|
{
|
var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
|
var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.ChannelId) && queryUser.Contains(s.ChannelId)) || string.IsNullOrEmpty(s.ChannelId) || queryUser.Count() == 0);
|
return queryResult;
|
}
|
|
return query;
|
}
|
|
public override IQueryable<LifePayUser> GetChannelLifePayUserFilter(IQueryable<LifePayUser> query)
|
{
|
if (CurrentUser.ClientId == Constant.ClientType.Back && !CurrentUser.IsSystem)
|
{
|
var queryUser = UserChannleRepository.Where(r => r.UserId == CurrentUser.Id).Select(s => s.ChannleId).ToList();
|
var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.CreationChannleNum) && queryUser.Contains(s.CreationChannleNum)) || string.IsNullOrEmpty(s.CreationChannleNum));
|
return queryResult;
|
}
|
|
return query;
|
}
|
}
|
|
public class ChannelsBase : Entity<Guid>
|
{
|
public Guid ChannleId { get; set; }
|
|
}
|
}
|