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); }
public async Task <List <File> > QueryFileInRangeAsync(DateTime from, DateTime to) { return(await Query.Query(x => x.CreatedAt >= from.Date && x.CreatedAt < to).ToListAsync()); }
public async Task <List <File> > QueryByIdsAsync(List <Guid> idDocuments) { return(await Query.Query(x => idDocuments.Contains(x.Id)).ToListAsync()); }
public async Task <List <Disctrict> > QueryAllAsync() { return(await Query.Query().ToListAsync()); }
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); } }
public async Task <List <TokenInfo> > QueryByUserAsync(List <Guid> idUsers) { return(await Query.Query(x => idUsers.Contains(x.IdUser)) .ToListAsync()); }
public async Task <List <TokenInfo> > QueryByTenantAsync(Guid tenantCode) { return(await Query.Query(x => x.TenantCode == tenantCode) .ToListAsync()); }