private async Task RaiseAdvertConfirmMessage(AdvertDbModel model) { var topicArn = _configuration.GetValue <string>("TopicArn"); using (var client = new AmazonSimpleNotificationServiceClient()) { var msg = JsonConvert.SerializeObject(_mapper.Map <AdvertConfirmedMessage>(model)); await client.PublishAsync(topicArn, msg); } }
public async Task <string> Add(AdvertModel model) { AdvertDbModel dbModel = _mapper.Map <AdvertDbModel>(model); dbModel.Id = Guid.NewGuid().ToString(); dbModel.CreatedDateTime = DateTime.UtcNow; dbModel.AdvertStatus = AdvertStatus.Pending; //using AmazonDynamoDBClient client = new(); using DynamoDBContext context = new(_amazonDynamoDBClient); await context.SaveAsync(dbModel); return(dbModel.Id); }
public async Task <bool> Confirm(ConfirmAdvertModel model) { //using AmazonDynamoDBClient client = new(); using DynamoDBContext context = new(_amazonDynamoDBClient); AdvertDbModel dbModel = await context.LoadAsync <AdvertDbModel>(model.Id); if (dbModel == null) { throw new KeyNotFoundException($"A Record with id={model.Id} was not found"); } if (model.Status == AdvertStatus.Active) { dbModel.AdvertStatus = model.Status; await context.SaveAsync(dbModel); return(true); } else { await context.DeleteAsync(dbModel); return(false); } }