| | |
| | | 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.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 async Task<IQueryable<ChannelsBase>> GetPolicyFilter<ChannelsBase, TKey>(IQueryable<ChannelsBase> query) |
| | | // { |
| | | // throw new NotImplementedException(); |
| | | // } |
| | | //} |
| | | 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(); |
| | | if (queryUser.Count() > 0) |
| | | { |
| | | var queryResult = query.Where(s => (!string.IsNullOrEmpty(s.ChannelId) && queryUser.Contains(s.ChannelId)) || string.IsNullOrEmpty(s.ChannelId) || queryUser.Count() == 0); |
| | | return queryResult; |
| | | } |
| | | } |
| | | |
| | | //public class ChannelsBase:IChannelFilter |
| | | //{ |
| | | // // public Guid ChannelId { get; set; } |
| | | //} |
| | | 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(); |
| | | if (queryUser.Count() > 0) |
| | | { |
| | | |
| | | 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; } |
| | | |
| | | } |
| | | } |