예제 #1
0
        public void Can_log_Licensee_Created()
        {
            var @event = new LicenseeCreated();

            _serviceBus.PublishMessage(@event);
            AssertAdminActivityLog(@event, AdminActivityLogCategory.Licensee);
        }
예제 #2
0
        public void Handle(LicenseeCreated createdEvent)
        {
            var repository = _container.Resolve <IReportRepository>();
            var record     = repository.LicenseeRecords.SingleOrDefault(r => r.LicenseeId == createdEvent.Id);

            if (record != null)
            {
                return;
            }
            record = new LicenseeRecord
            {
                LicenseeId      = createdEvent.Id,
                Name            = createdEvent.Name,
                CompanyName     = createdEvent.CompanyName,
                EmailAddress    = createdEvent.Email,
                AffiliateSystem = createdEvent.AffiliateSystem,
                Status          = LicenseeStatus.Inactive.ToString(),
                ContractStart   = createdEvent.ContractStart,
                ContractEnd     = createdEvent.ContractEnd,
                Created         = createdEvent.EventCreated,
                CreatedBy       = createdEvent.EventCreatedBy
            };
            repository.LicenseeRecords.Add(record);
            repository.SaveChanges();
        }
예제 #3
0
 public void Consume(LicenseeCreated @event)
 {
     _repository.Licensees.Add(new Licensee {
         Id = @event.Id
     });
     _repository.SaveChanges();
 }
예제 #4
0
        public void Handle(LicenseeCreated licenseeLanguagesAssignedEvent)
        {
            var repository = _container.Resolve <IReportRepository>();

            if (licenseeLanguagesAssignedEvent.Languages.Any(l =>
                                                             repository.LanguageRecords.All(lr => lr.Code != l)))
            {
                //todo: create more detailed message
                throw new RegoException(LanguageRecordsWereNotFoundMessage);
            }

            UpdateAssignedInLicensee(repository,
                                     licenseeLanguagesAssignedEvent.Languages,
                                     licenseeLanguagesAssignedEvent.Name);
        }
예제 #5
0
        public void Consume(LicenseeCreated @event)
        {
            var paymentRepository = _container.Resolve <IPaymentRepository>();

            var licensee = paymentRepository.Licensees.SingleOrDefault(x => x.Id == @event.Id);

            if (licensee != null)
            {
                return;
            }

            paymentRepository.Licensees.Add(new Data.Licensee
            {
                Id   = @event.Id,
                Name = @event.Name
            });

            paymentRepository.SaveChanges();
        }
예제 #6
0
 public void Consume(LicenseeCreated message)
 {
     _eventHandlers.Handle(message);
 }
예제 #7
0
 public void Handle(LicenseeCreated @event)
 {
     AddActivityLog(AdminActivityLogCategory.Licensee, @event);
 }