public async void Run( [EventGridTrigger] EventGridEvent eventGridEvent, ILogger log) { log.LogInformation($"Process_VoyageCreatedExternalization2Transaction triggered....EventGridEvent" + $"\n\tId:{ eventGridEvent.Id }" + $"\n\tTopic:{ eventGridEvent.Topic }" + $"\n\tSubject:{ eventGridEvent.Subject }" + $"\n\tType:{ eventGridEvent.EventType }" + $"\n\tData:{ eventGridEvent.Data }"); try { VoyageCreatedEvent @event = JsonConvert.DeserializeObject <VoyageCreatedEvent>(eventGridEvent.Data.ToString()); var transaction = await transactions.Find(t => t.Id == @event.TransactionId).FirstOrDefaultAsync(); if (transaction == null) { logger.LogInformation($"Process_VoyageCreatedExternalization2Transaction: That item does not exist: {@event.TransactionId}"); throw new Exception($"Couldn't find voyage with id: {@event.TransactionId}"); } transaction.OrganizationName = @event.OrganizationName; transaction.StarCollected = @event.StarCollected; transaction.VoyageId = @event.VoyageId; transaction.Status = Status.Processed; var replacedItem = await transactions.ReplaceOneAsync(t => t.Id == transaction.Id, transaction); } catch (Exception e) { var error = $"VoyageCreatedExternalization2Transaction failed: {e.Message}"; logger.LogError(error); } }
public void Apply(VoyageCreatedEvent aggregateEvent) { Schedule = aggregateEvent.Schedule; }