public async Task <int> Count(PermissionOperatorFilter filter)
        {
            IQueryable <PermissionOperatorDAO> PermissionOperators = DataContext.PermissionOperator.AsNoTracking();

            PermissionOperators = DynamicFilter(PermissionOperators, filter);
            return(await PermissionOperators.CountAsync());
        }
        public async Task <List <PermissionOperator> > List(PermissionOperatorFilter filter)
        {
            if (filter == null)
            {
                return(new List <PermissionOperator>());
            }
            IQueryable <PermissionOperatorDAO> PermissionOperatorDAOs = DataContext.PermissionOperator.AsNoTracking();

            PermissionOperatorDAOs = DynamicFilter(PermissionOperatorDAOs, filter);
            List <PermissionOperator> PermissionOperators = await DynamicSelect(PermissionOperatorDAOs, filter);

            return(PermissionOperators);
        }
        public async Task <List <Role_PermissionOperatorDTO> > SingleListPermissionOperator([FromBody] Role_PermissionOperatorFilterDTO Role_PermissionOperatorFilterDTO)
        {
            PermissionOperatorFilter PermissionOperatorFilter = new PermissionOperatorFilter();

            PermissionOperatorFilter.Skip        = 0;
            PermissionOperatorFilter.Take        = 200;
            PermissionOperatorFilter.Id          = Role_PermissionOperatorFilterDTO.Id;
            PermissionOperatorFilter.Code        = Role_PermissionOperatorFilterDTO.Code;
            PermissionOperatorFilter.Name        = Role_PermissionOperatorFilterDTO.Name;
            PermissionOperatorFilter.FieldTypeId = Role_PermissionOperatorFilterDTO.FieldTypeId;

            List <PermissionOperator> PermissionOperatores = await PermissionOperatorService.List(PermissionOperatorFilter);

            List <Role_PermissionOperatorDTO> Role_PermissionOperatorDTOs = PermissionOperatores
                                                                            .Select(x => new Role_PermissionOperatorDTO(x)).ToList();

            return(Role_PermissionOperatorDTOs);
        }
        public async Task <List <PermissionOperator> > List(PermissionOperatorFilter PermissionOperatorFilter)
        {
            try
            {
                List <PermissionOperator> PermissionOperators = await UOW.PermissionOperatorRepository.List(PermissionOperatorFilter);

                return(PermissionOperators);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(PermissionOperatorService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(PermissionOperatorService));

                    throw new MessageException(ex.InnerException);
                };
            }
        }
        public async Task <int> Count(PermissionOperatorFilter PermissionOperatorFilter)
        {
            try
            {
                int result = await UOW.PermissionOperatorRepository.Count(PermissionOperatorFilter);

                return(result);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(PermissionOperatorService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(PermissionOperatorService));

                    throw new MessageException(ex.InnerException);
                };
            }
        }
        private async Task <List <PermissionOperator> > DynamicSelect(IQueryable <PermissionOperatorDAO> query, PermissionOperatorFilter filter)
        {
            query = query.OrderBy(q => q.Id).Skip(0).Take(int.MaxValue);
            List <PermissionOperator> PermissionOperators = await query.Select(q => new PermissionOperator()
            {
                Id          = q.Id,
                Code        = q.Code,
                Name        = q.Name,
                FieldTypeId = q.FieldTypeId,
            }).ToListAsync();

            return(PermissionOperators);
        }
 private IQueryable <PermissionOperatorDAO> DynamicFilter(IQueryable <PermissionOperatorDAO> query, PermissionOperatorFilter filter)
 {
     if (filter == null)
     {
         return(query.Where(q => false));
     }
     if (filter.Id != null)
     {
         query = query.Where(q => q.Id, filter.Id);
     }
     if (filter.Code != null)
     {
         query = query.Where(q => q.Name, filter.Name);
     }
     if (filter.Name != null)
     {
         query = query.Where(q => q.Name, filter.Name);
     }
     if (filter.FieldTypeId != null)
     {
         query = query.Where(q => q.FieldTypeId, filter.FieldTypeId);
     }
     return(query);
 }