public void Process(PhoneNumberAddedToDataCollector @event) { var dataCollector = _dataCollectors.GetById(@event.DataCollectorId); dataCollector.PhoneNumbers.Add(new PhoneNumber(@event.PhoneNumber)); _dataCollectors.Save(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { var greetingHistory = _greetingHistories.GetByPhoneNumber(@event.PhoneNumber) ?? new GreetingHistory(@event.DataCollectorId); greetingHistory.PhoneNumber = @event.PhoneNumber; // Todo: THis does nothing if GetByPhoneNumberAsync doesn't return nul _greetingHistories.Update(greetingHistory); }
//TODO: QUESTION: Shouldn't this listen to MessageGenerated-event? public async void Process(PhoneNumberAddedToDataCollector @event) { var greetingHistory = await _greetingHistories.GetByPhoneNumberAsync(@event.PhoneNumber) ?? new GreetingHistory(@event.DataCollectorId); greetingHistory.PhoneNumber = @event.PhoneNumber; await _greetingHistories.SaveAsync(greetingHistory); }
public void Process(PhoneNumberAddedToDataCollector @event, EventSourceId dataCollectorId) { var dataCollector = _dataCollectors.GetById(dataCollectorId.Value); dataCollector.PhoneNumbers.Add(@event.PhoneNumber); _dataCollectors.Update(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { var dataCollector = _dataCollectors.GetById(@event.DataCollectorId); var phoneNumbers = dataCollector.PhoneNumbers; phoneNumbers.Append(new PhoneNumber(@event.PhoneNumber)); _dataCollectors.Update(dataCollector); }
public async Task Process(PhoneNumberAddedToDataCollector @event) { //TODO: How to handle if datacollector does not exist? SHould not occur since that mean error in event sequence var dataCollector = _dataCollectors.GetById(@event.DataCollectorId); dataCollector.PhoneNumbers.Add(@event.PhoneNumber); await _dataCollectors.Save(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { _dataCollectors.Update(d => d.Id == (DataCollectorId)@event.DataCollectorId, Builders <DataCollector> .Update.AddToSet(d => d.PhoneNumbers, new PhoneNumber() { Value = @event.PhoneNumber })); }
public void Process(PhoneNumberAddedToDataCollector @event) { var dataCollector = _dataCollectors.GetById(@event.DataCollectorId); dataCollector.PhoneNumbers.Append(new PhoneNumber() { Value = @event.PhoneNumber }); _dataCollectors.Update(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { var res = _dataCollectors.UpdateOne( Builders <DataCollector> .Filter.Where(d => d.DataCollectorId == @event.DataCollectorId), Builders <DataCollector> .Update.AddToSet(d => d.PhoneNumbers, new PhoneNumber(@event.PhoneNumber))); if (res.IsModifiedCountAvailable && res.MatchedCount < 1) { throw new Exception("Data collector with id " + @event.DataCollectorId + " was not found"); } }
public void Process(PhoneNumberAddedToDataCollector @event, EventSourceId dataCollectorId) { var dataCollector = _dataCollectors.GetById(dataCollectorId.Value); var phoneNumbers = dataCollector.PhoneNumbers; phoneNumbers.Append(new PhoneNumber() { Value = @event.PhoneNumber }); dataCollector.PhoneNumbers = phoneNumbers; _dataCollectors.Update(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { var dataCollector = _dataCollectors.GetById(@event.DataCollectorId); //TODO: Business Validator should check this(?) if (dataCollector == null) { return; } dataCollector.PhoneNumbers.Add(new PhoneNumber(@event.PhoneNumber)); _dataCollectors.Save(dataCollector); }
public void Process(PhoneNumberAddedToDataCollector @event) { var unknownReports = this.unknownReports.GetByPhoneNumber(@event.PhoneNumber); var dataCollector = dataCollectors.GetById(@event.DataCollectorId); foreach (var item in unknownReports) { var repo = caseReportingAggregateRootRepository.Get(item.Id.Value); repo.Report( @event.DataCollectorId, item.HealthRiskId, item.Origin, item.NumberOfMalesUnder5, item.NumberOfMalesAged5AndOlder, item.NumberOfFemalesUnder5, item.NumberOfFemalesAged5AndOlder, dataCollector.Location.Longitude, dataCollector.Location.Latitude, item.Timestamp, item.Message ); repo.ReportFromUnknownDataCollectorIdentiefied(@event.DataCollectorId); } var invalidAndUnknownReports = this.invalidAndUnknownReports.GetByPhoneNumber(@event.PhoneNumber); foreach (var item in invalidAndUnknownReports) { var repo = caseReportingAggregateRootRepository.Get(item.Id.Value); repo.ReportInvalidReport( @event.DataCollectorId, item.PhoneNumber, item.Message, dataCollector.Location.Longitude, dataCollector.Location.Latitude, item.ParsingErrorMessage, item.Timestamp ); repo.ReportFromUnknownDataCollectorIdentiefied(@event.DataCollectorId); } }
public void Process(PhoneNumberAddedToDataCollector @event, EventSourceId dataCollectorId) { var unknownReports = _unknownReports.Query.Where(r => r.Origin == @event.PhoneNumber); var dataCollector = _dataCollectors.GetById(dataCollectorId); foreach (var item in unknownReports) { var caseReport = _caseReportingAggregateRootRepository.Get(item.Id.Value); caseReport.Report( dataCollectorId, item.HealthRiskId, item.Origin, item.NumberOfMalesUnder5, item.NumberOfMalesAged5AndOlder, item.NumberOfFemalesUnder5, item.NumberOfFemalesAged5AndOlder, dataCollector.Location.Longitude, dataCollector.Location.Latitude, item.Timestamp, item.Message ); caseReport.ReportFromUnknownDataCollectorIdentiefied(dataCollectorId); } var invalidAndUnknownReports = _invalidAndUnknownReports.Query.Where(r => r.PhoneNumber == @event.PhoneNumber); foreach (var item in invalidAndUnknownReports) { var caseReport = _caseReportingAggregateRootRepository.Get(item.Id.Value); caseReport.ReportInvalidReport( dataCollectorId, item.PhoneNumber, item.Message, dataCollector.Location.Longitude, dataCollector.Location.Latitude, item.ParsingErrorMessage, item.Timestamp ); caseReport.ReportFromUnknownDataCollectorIdentiefied(dataCollectorId); } }
public async Task Process(PhoneNumberAddedToDataCollector @event) { var unknownReports = await this.unknownReports.GetByPhoneNumber(@event.PhoneNumber); foreach (var item in unknownReports) { var repo = caseReportingAggregateRootRepository.Get(item.Id); repo.Report( @event.DataCollectorId, item.HealthRiskId, item.NumberOfMalesUnder5, item.NumberOfMalesOver5, item.NumberOfFemalesUnder5, item.NumberOfFemalesOver5, item.Location.Longitude, item.Location.Latitude, item.Timestamp ); repo.ReportFromUnknownDataCollectorIdentiefied(@event.DataCollectorId); } }
public async void Process(PhoneNumberAddedToDataCollector @event) { var dataCollector = await _dataCollectors.GetByIdAsync(@event.DataCollectorId); // Todo Get the correct welcome message based on the dataCollector.PreferredLanguage var welcomeMessage = "Welcome!"; var smsGenerator = await _greetingHistories.GetByPhoneNumberAsync(@event.PhoneNumber); if (smsGenerator != null) { return; } var smsGeneratorAggregateRootRepository = _messageGeneratorsAggregateRootRepository.Get(@event.DataCollectorId); smsGeneratorAggregateRootRepository.GenerateMessage(new GenerateMessage() { Id = @event.DataCollectorId, Message = welcomeMessage, PhoneNumber = @event.PhoneNumber }); }
private void On(PhoneNumberAddedToDataCollector @event) { _numbers.Add(@event.PhoneNumber); }
public void Process(PhoneNumberAddedToDataCollector @event) { var updateRes = _dataCollectors.AddPhoneNumber(d => d.Id == @event.DataCollectorId, @event.PhoneNumber); }