Query() public method

public Query ( string IP, int port ) : System
IP string
port int
return System
Beispiel #1
0
        public async Task <Paged <Role> > PagingAsync(ContextModel context, Paging paging)
        {
            var paged = await Query
                        .Query(
                filter : (items) =>
            {
                items = items.QueryByPermission(context);
                items = items.QueryByDeletedBy();

                if (!string.IsNullOrEmpty(paging.Q))
                {
                    var q = paging.Q.ToUpper();
                    items = items.Where(x => x.NormalizedName.Contains(q));
                }

                if (paging.Search != null)
                {
                    foreach (var item in paging.Search)
                    {
                        items = items.Contains(item.Key, item.Value);
                    }
                }

                if (paging.Sort != null)
                {
                    items = items.OrderBy(paging.Sort);
                }

                if (paging.Columns != null)
                {
                    items = items.Select(paging.Columns
                                         .Where(x => x.Value)
                                         .Select(x => x.Key)
                                         .ToArray());
                }

                return(items);
            },
                order : x => x.OrderByDescending(y => y.CreatedAt),
                include : null)
                        .ToPaginationAsync(paging);

            return(paged);
        }
Beispiel #2
0
 public async Task <List <File> > QueryFileInRangeAsync(DateTime from, DateTime to)
 {
     return(await Query.Query(x => x.CreatedAt >= from.Date && x.CreatedAt < to).ToListAsync());
 }
Beispiel #3
0
 public async Task <List <File> > QueryByIdsAsync(List <Guid> idDocuments)
 {
     return(await Query.Query(x => idDocuments.Contains(x.Id)).ToListAsync());
 }
Beispiel #4
0
 public async Task <List <Disctrict> > QueryAllAsync()
 {
     return(await Query.Query().ToListAsync());
 }
Beispiel #5
0
        public async Task <Paged <Tenant> > PagingAsync(Guid idTenant, Paging paging)
        {
            if (string.IsNullOrEmpty(paging.Q))
            {
                var paged = await Query
                            .Query(
                    filter : queryable =>
                {
                    queryable = queryable.QueryByDeletedBy();

                    queryable = queryable.Where(x => x.Path != null && x.Path.Contains(idTenant.ToString()) && !x.Path.EndsWith(idTenant.ToString()));

                    return(queryable);
                },
                    order : items => items.OrderByDescending(x => x.ExpireDate),
                    include : null)
                            .ToPaginationAsync(paging);

                return(paged);
            }
            else
            {
                var codeTenants = await Query
                                  .Query(
                    filter : queryable =>
                {
                    queryable = queryable.QueryByDeletedBy();

                    queryable = queryable.Where(x => x.Path != null && x.Path.Contains(idTenant.ToString()) && !x.Path.EndsWith(idTenant.ToString()));

                    return(queryable);
                },
                    order : null,
                    include : null)
                                  .Select(x => x.Code)
                                  .AsQueryable()
                                  .ToListAsync();

                //query tên miền
                IQueryable <TenantHost> queryTenantHost = StorageContext.Set <TenantHost>().Where(x => codeTenants.Contains(x.Code) && !x.DeletedVersion.HasValue);
                var codeTenantHosts = await queryTenantHost.Where(x => x.HostName.Contains(paging.Q)).Select(x => x.Code).AsQueryable().ToListAsync();

                //query các thông tin khác
                IQueryable <TenantInfo> queryTenantInfo = StorageContext.Set <TenantInfo>().Where(x => codeTenants.Contains(x.Code));
                var codeTenantInfos = await queryTenantInfo.Where(x => x.TaxCode.Contains(paging.Q) ||
                                                                  x.FullNameVi.Contains(paging.Q) ||
                                                                  x.Address.Contains(paging.Q))
                                      .Select(x => x.Code).AsQueryable().ToListAsync();

                codeTenants = codeTenantHosts;
                codeTenants.AddRange(codeTenantInfos);

                codeTenants.Distinct();

                var paged = await Query
                            .Query(
                    filter : queryable =>
                {
                    queryable = queryable.Where(x => codeTenants.Contains(x.Code));

                    return(queryable);
                },
                    order : items => items.OrderByDescending(x => x.ExpireDate),
                    include : null)
                            .ToPaginationAsync(paging);

                return(paged);
            }
        }
Beispiel #6
0
 public async Task <List <TokenInfo> > QueryByUserAsync(List <Guid> idUsers)
 {
     return(await Query.Query(x => idUsers.Contains(x.IdUser))
            .ToListAsync());
 }
Beispiel #7
0
 public async Task <List <TokenInfo> > QueryByTenantAsync(Guid tenantCode)
 {
     return(await Query.Query(x => x.TenantCode == tenantCode)
            .ToListAsync());
 }