public async Task <StoryContent> FindByQuery(IQueryParameter query, CancellationToken cancellationToken) { var storyId = ((StoryQuery)query).StoryId; var dbContext = _clientFactory.GetDynamoDBContext(); return(await dbContext.LoadAsync <StoryContent>(storyId, _dynamoDBOperationConfig, cancellationToken)); }
public async Task <List <Person> > GetAllPeople(CancellationToken cancellationToken) { var dbContext = _awsClientFactory.GetDynamoDBContext(); var results = await dbContext.ScanAsync <Person>(new List <ScanCondition>(), _operationConfig).GetRemainingAsync(cancellationToken); return(results); }
public async Task <TEntity> FindByQuery(IQueryParameter query, CancellationToken cancellationToken) { var personQuery = (PersonIdentifier)query; var dynamoContext = _clientFactory.GetDynamoDBContext(); var dynamoOperationContext = new DynamoDBOperationConfig() { ConditionalOperator = ConditionalOperatorValues.And, TableNamePrefix = "familybryce." }; if (personQuery.PersonId.HasValue) { return(await dynamoContext.LoadAsync <TEntity>(personQuery.PersonId.Value, _dynamoDBOperationConfig, cancellationToken)); } else { dynamoOperationContext.QueryFilter.Add(new ScanCondition("FirstName", ScanOperator.Equal, personQuery.FirstName)); dynamoOperationContext.QueryFilter.Add(new ScanCondition("LastName", ScanOperator.Equal, personQuery.LastName)); dynamoOperationContext.QueryFilter.Add(new ScanCondition("EmailAddress", ScanOperator.Equal, personQuery.EmailAddress)); var person = await dynamoContext.QueryAsync <TEntity>(dynamoOperationContext).GetRemainingAsync(); return(person.FirstOrDefault()); } }
public async Task <List <FamilyEvent> > GetAllEventsStartingAfter(DateTime referenceDate, CancellationToken cancellation) { var dbContext = _awsClientFactory.GetDynamoDBContext(); var batchGetBatches = new List <BatchGet <FamilyEvent> >(); return(await dbContext.ScanAsync <FamilyEvent>(new List <ScanCondition>() { new ScanCondition("StartDate", ScanOperator.GreaterThan, referenceDate) }, _operationConfig).GetRemainingAsync(cancellation)); }
public async Task <IEnumerable <Model.Gallery> > FindAllByFamilyEvent(Guid familyEventId, CancellationToken cancellationToken) { var dbContext = _awsClientFactory.GetDynamoDBContext(); var dynamoOperationContext = new DynamoDBOperationConfig() { ConditionalOperator = ConditionalOperatorValues.And, TableNamePrefix = "familybryce.", IndexName = "FamilyEvent-DefaultFamilyEventGallery-index" }; return(await dbContext.QueryAsync <Model.Gallery>(familyEventId, QueryOperator.Equal, new[] { (object)true }, dynamoOperationContext).GetRemainingAsync(cancellationToken)); }
public async Task <List <StoryIndex> > GetStoryIndexes(CancellationToken cancellationToken) { var dbContext = _clientFactory.GetDynamoDBContext(); var dynamoOperationContext = new DynamoDBOperationConfig() { TableNamePrefix = "familybryce.", IndexName = "ID-index" }; var results = await dbContext.ScanAsync <StoryIndex>(new List <ScanCondition>(), dynamoOperationContext).GetRemainingAsync(cancellationToken); return(results); }
public async Task Save(TEntity entity, CancellationToken cancellationToken) { var dynamoContext = _clientFactory.GetDynamoDBContext(); entity.LastUpdated = DateTime.Now; await dynamoContext.SaveAsync(entity, _dynamoDBOperationConfig, cancellationToken); }
public async Task <TEntity> FindByQuery(IQueryParameter query, CancellationToken cancellationToken) { var personQuery = (UnionQuery)query; var dynamoContext = _clientFactory.GetDynamoDBContext(); var dynamoOperationContext = new DynamoDBOperationConfig() { ConditionalOperator = ConditionalOperatorValues.And, TableNamePrefix = "familybryce.", IndexName = "Members-index", }; var queryResult = await dynamoContext.QueryAsync <TEntity>(BuildIndex(personQuery.Partner1Id, personQuery.Partner2Id), dynamoOperationContext).GetRemainingAsync(cancellationToken); return(queryResult.FirstOrDefault()); }
public async Task <TEntity> Load(TId id, CancellationToken cancellationToken) { var context = _awsContext.GetDynamoDBContext(); return(await context.LoadAsync <TEntity>(id)); }
public async Task Save(TEntity entity, CancellationToken cancellationToken) { var context = _awsClientFactory.GetDynamoDBContext(); await context.SaveAsync(entity, _dynamoDBOperationConfig, cancellationToken); }
public async Task <Model.ImageReference> Load(Guid imageId, Guid galleryId, CancellationToken cancellationToken) { var dynamoContext = _awsClientFactory.GetDynamoDBContext(); return(await dynamoContext.LoadAsync <Model.ImageReference>(imageId, galleryId, _operationConfig, cancellationToken)); }