public async Task <ArrayPage <ContactData> > GetUserContactData(Guid userId, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Identity.ContactData>(d => d.Owner) .Where(d => userId.CompareTo(d.OwnerId) == 0); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <ContactData> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Identity.ContactData, ContactData>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <Farm> > GetFarms(ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Farm>( d => d.Owner, d => d.Cooperatives, d => d.Harvests, d => d.Products); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <Farm> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Farm, Farm>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <HarvestBatch> > GetHarvestBatches(Guid farmId, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.HarvestBatch>( h => h.Farm, h => h.Harvests) .Where(h => farmId.CompareTo(h.FarmId) == 0); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <HarvestBatch> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.HarvestBatch, HarvestBatch>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <Harvest> > GetHarvests(ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Harvest>( h => h.Batch, h => h.Produce); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <Harvest> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Harvest, Harvest>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <CooperativeAdmin> > GetAdmins(Guid cooperativeId, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.CooperativeAdmin>(c => c.Cooperative, c => c.User) .Where(c => cooperativeId.CompareTo(c.CooperativeId) == 0); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <CooperativeAdmin> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.CooperativeAdmin, CooperativeAdmin>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <Farm> > GetRegisteredFarms(Guid cooperativeId, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Cooperative>( c => c.Farms.Select(f => f.Harvests), c => c.Farms.Select(f => f.Products), c => c.Farms.Select(f => f.Cooperatives)) .Where(c => cooperativeId.CompareTo(c.Id) == 0) .SelectMany(c => c.Farms); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <Farm> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Farm, Farm>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <Farmer> > GetRegisteredFarmers(Guid cooperativeId, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = from c in _query.Query <Entities.Cooperative>() join a in _query.Query <Entities.CooperativeAdmin>() on c.Id equals a.CooperativeId join f in _query.Query <Entities.Farmer>() on a.UserId equals f.UserId where cooperativeId.CompareTo(c.Id) == 0 select f; var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <Farmer> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Farmer, Farmer>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <Credential> > GetActiveUserCredentials(Guid ownerId, string credentialName, ArrayPageRequest request = null) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Authentication.Credential>(d => d.Owner) .Where(d => credentialName == d.Name); var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <Credential> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Authentication.Credential, Credential>( _transformer, TransformCommand.Query) }); }
public async Task <ArrayPage <ContactData> > GetUserContactData( Guid userId, string[] communicationChannels, string[] tags, ArrayPageRequest request) { request = request?.Normalize() ?? ArrayPageRequest.CreateNormalizedRequest(); var dataQuery = _query .Query <Entities.Identity.ContactData>(d => d.Owner) .Where(d => userId.CompareTo(d.OwnerId) == 0) .Where(d => d.IsPrimary) .Where(d => communicationChannels.Contains(d.Channel)); var tagPredicate = TagPatterns(tags); if (tagPredicate != null) { dataQuery = dataQuery.Where(tagPredicate); } var longCount = await dataQuery.LongCountAsync(); var filtered = await dataQuery .OrderBy(c => c.CreatedOn) .Skip((int)(request.PageIndex * request.PageSize)) .Take((int)request.PageSize) .ToArrayAsync(); return(new ArrayPage <ContactData> { TotalLength = longCount, PageIndex = request.PageIndex.Value, PageSize = request.PageSize.Value, Page = filtered.TransformQuery <Entities.Identity.ContactData, ContactData>( _transformer, TransformCommand.Query) }); }