//TODO: QUESTION: Shouldn't this listen to MessageGenerated-event?

        public void Process(MessageGenerated @event)
        {
            var greetingHistory = _greetingHistories.GetByPhoneNumber(@event.PhoneNumber) ??
                                  new GreetingHistory(@event.DataCollectorId);

            greetingHistory.PhoneNumber = @event.PhoneNumber;

            _greetingHistories.Update(greetingHistory);
        }
Beispiel #2
0
        public void Process(PhoneNumberAddedToDataCollector @event)
        {
            var dataCollector = _dataCollectors.GetById(@event.DataCollectorId);

            // Todo Get the correct welcome message based on the dataCollector.PreferredLanguage
            var welcomeMessage = "Welcome!";


            var smsGenerator = _greetingHistories.GetByPhoneNumber(@event.PhoneNumber);

            if (smsGenerator != null)
            {
                return;// TODO: Something should be thrown
            }

            var smsGeneratorAggregateRootRepository = _messageGeneratorsAggregateRootRepository.Get(@event.DataCollectorId);

            smsGeneratorAggregateRootRepository.GenerateMessage(new GenerateMessage
            {
                Id          = @event.DataCollectorId,
                Message     = welcomeMessage,
                PhoneNumber = @event.PhoneNumber
            });
        }