示例#1
0
    public Event(DateTime timestamp, CustomerRegisteredEvent customerRegisteredEvent)
    {
        this.timestamp = timestamp;
        var serializerSettings = new JsonSerializerSettings();

        this.data = JsonConvert.SerializeObject(customerRegisteredEvent, serializerSettings);
    }
示例#2
0
 /// <summary>
 /// Handles the event.
 /// </summary>
 /// <param name="registeredCustomer">Registered customer</param>
 public void HandleEvent(CustomerRegisteredEvent registeredCustomer)
 {
     if (PluginIsActive)
     {
         _synchronizationRecordService.CreateOrUpdateRecord(EntityType.Customer, registeredCustomer.Customer.Id, ActionType.Create);
     }
 }
示例#3
0
        public async Task Handle(CustomerRegisteredEvent simpleEvent)
        {
            var entity = new MembershipPointsReportingReadModel();

            entity.ApplyEvent(simpleEvent);
            _context.Add(entity);
            await _context.SaveChangesAsync();
        }
        /// <summary>
        /// Handle the customer registered event
        /// </summary>
        /// <param name="eventMessage">Event message</param>
        public void HandleEvent(CustomerRegisteredEvent eventMessage)
        {
            if (eventMessage.Customer == null)
            {
                return;
            }

            AddRecord(EntityType.Customer, eventMessage.Customer.Id, OperationType.Create);
        }
示例#5
0
        private async Task HandleAsync(CustomerRegisteredEvent customerRegisteredEvent)
        {
            StringBuilder mailBody = new StringBuilder();

            mailBody.AppendLine($"Dear {customerRegisteredEvent.FirstName},");
            mailBody.AppendLine($"Welcome! Your email address: {customerRegisteredEvent.EmailAddress} is registered with us.");

            await _emailNotifier.SendEmailAsync(customerRegisteredEvent.EmailAddress, "*****@*****.**", "Welcome!", mailBody.ToString());
        }
 public void ApplyEvent(CustomerRegisteredEvent simpleEvent)
 {
     Id        = simpleEvent.Id;
     Username  = simpleEvent.Username;
     FirstName = simpleEvent.FirstName;
     LastName  = simpleEvent.LastName;
     Email     = simpleEvent.Email;
     Version   = 1;
 }
        public async Task <ActionResult <Customer> > Register(Customer customer)
        {
            _customerContext.Customers.Add(customer);
            await _customerContext.SaveChangesAsync();

            CustomerRegisteredEvent customer1 = new CustomerRegisteredEvent(customer.id, customer.username, customer.name, customer.email, customer.city, customer.telephone);

            eventHandler.newEvent(new Event(DateTime.Now, customer1), "CustomerRegistered");

            return(CreatedAtAction(nameof(Register), new { username = customer.username }, customer));
        }
        private async Task <ResponseMessage> SendRegisterCustomerRequest(CustomerRegisteredEvent request)
        {
            var customerRequest = new RegisterCustomerRequest(request.Id, request.Name, request.Email, request.Cpf);

            using var scope = _serviceProvider.CreateScope();
            var mediator      = scope.ServiceProvider.GetRequiredService <IMediator>();
            var requestResult = await mediator.Send(customerRequest);

            return(new ResponseMessage {
                ValidationResult = requestResult.ValidationResult
            });
        }
示例#9
0
        public async Task Execute(CreateCustomerCommand command)
        {
            //TODO: What am I supposed to do with this data? Store this?

            ValidateCommand(command);

            var salt     = Guid.NewGuid().ToString();
            var password = HashProvider.ComputeHash(command.Password + salt);

            var @event = new CustomerRegisteredEvent {
                FirstName    = command.FirstName,
                LastName     = command.LastName,
                Email        = command.Email,
                PhoneNumber  = command.PhoneNumber,
                Password     = password,
                Salt         = salt,
                AgreeToTerms = DateTime.UtcNow
            };

            await ServiceBus.SendAsync(@event);
        }
        public void HandleEvent(CustomerRegisteredEvent registeredEvent)
        {
            if (!_rewardPointsForRegistrationSettings.IsEnabled)
            {
                return;
            }

            if (registeredEvent.Customer == null)
            {
                return;
            }

            //check whether delay is set
            var activationDate = GetRewardPointsActivationDate(_rewardPointsForRegistrationSettings);

            //get message for the current customer
            var languageId = _genericAttributeService.GetAttribute <int>(registeredEvent.Customer, NopCustomerDefaults.LanguageIdAttribute, _storeContext.CurrentStore.Id);
            var message    = _rewardPointsForRegistrationSettings.GetLocalizedSetting(settings => settings.Message, languageId, _storeContext.CurrentStore.Id);

            //add reward points for approved product review
            _rewardPointService.AddRewardPointsHistoryEntry(registeredEvent.Customer, _rewardPointsForRegistrationSettings.Points,
                                                            _storeContext.CurrentStore.Id, message, activatingDate: activationDate);
        }
 public void Apply(CustomerRegisteredEvent aggregateEvent)
 {
     // state change logic here
 }
示例#12
0
 public void HandleEvent(CustomerRegisteredEvent msg)
 {
 }
示例#13
0
        public static List <SimpleApplicationEvent> EventDataSeed()
        {
            var requestedBy          = "SeedData";
            var apocalypso           = new CustomerRegisteredEvent(Guid.Parse("88355a88-b6d6-473e-b043-7e5ffd84ed5b"), "apocalypso", "Apo", "Calypso", "*****@*****.**");
            var apoMembershipCreated = new MembershipCreatedEvent(Guid.Parse("a1f35259-8ba7-442f-9158-8a054163d74b"), apocalypso.Id);
            var apollo = new CustomerRegisteredEvent(Guid.Parse("d33d6fe4-83d9-4772-83c7-7343816d5401"), "apollo", "apo", "llo", "*****@*****.**");
            var apolloMembershipCreated = new MembershipCreatedEvent(Guid.Parse("f894b3e6-988e-427b-853d-a169f2e9a812"), apollo.Id);
            var aphrodite = new CustomerRegisteredEvent(Guid.Parse("f894b3e6-955e-427b-853d-a169f2e9a812"), "aphrodite", "aphro", "dite", "*****@*****.**");
            var aphroMembershipCreated = new MembershipCreatedEvent(Guid.Parse("f894b3e6-995e-427b-853d-a169f2e9a812"), aphrodite.Id);
            var rose = new CustomerRegisteredEvent(Guid.Parse("f894b3e6-985e-487b-853d-a169f2e9a812"), "rowest", "Rose", "West", "*****@*****.**");
            var roseMembershipCreated = new MembershipCreatedEvent(Guid.Parse("f894b336-985e-427b-853d-a169f2e9a812"), rose.Id);
            var sophie = new CustomerRegisteredEvent(Guid.Parse("f894b3e3-985e-427b-853d-a169f2e9a812"), "sophturn", "Sophie", "Turner", "*****@*****.**");
            var sophieMembershipCreated = new MembershipCreatedEvent(Guid.Parse("f894b3e6-985e-447b-853d-a169f2e9a812"), sophie.Id);
            var chloe = new CustomerRegisteredEvent(Guid.Parse("f894b3e6-985e-222b-853d-a169f2e9a812"), "hitman", "Chloe", "Hitler", "*****@*****.**");
            var chloeMembershipCreated = new MembershipCreatedEvent(Guid.Parse("e21ab401-d81c-474d-849e-b685d27e8a64"), chloe.Id);
            var amelia = new CustomerRegisteredEvent(Guid.Parse("e21ab401-d81c-444d-899e-b685d27e8a64"), "beaver", "Amelia", "Beverley", "*****@*****.**");
            var ameliaMembershipCreated = new MembershipCreatedEvent(Guid.Parse("e21ab401-d81c-474d-949e-b685d27e8a64"), amelia.Id);
            var olivia = new CustomerRegisteredEvent(Guid.Parse("e01ab401-d81c-474d-849e-b685d27e8a64"), "olivia", "Olivia", "Jones", "*****@*****.**");
            var oliviaMembershipCreated = new MembershipCreatedEvent(Guid.Parse("e41ab401-d81c-474d-849e-b685d27e8a64"), olivia.Id);
            var charlotte = new CustomerRegisteredEvent(Guid.Parse("e21ab441-d81c-474d-849e-b685d27e8a64"), "chajohn2013", "Charlotte", "Johnson", "*****@*****.**");
            var charlotteMembershipCreated = new MembershipCreatedEvent(Guid.Parse("e21ab401-d88c-474d-849e-b685d27e8a64"), charlotte.Id);
            var mia = new CustomerRegisteredEvent(Guid.Parse("e21aa401-d81c-444d-849e-b685d27e8a64"), "milee", "Mia", "Lee", "*****@*****.**");
            var miaMembershipCreated = new MembershipCreatedEvent(Guid.Parse("e21ab401-d81c-474d-849e-b685d26e4a64"), mia.Id);
            var miaMembershipPoint1  = new MembershipPointsEarnedEvent(miaMembershipCreated.Id, 10, MembershipPointsType.Movie, DateTime.Now.AddDays(-10), 1);
            var miaMembershipPoint2  = new MembershipPointsEarnedEvent(miaMembershipCreated.Id, 40, MembershipPointsType.Movie, DateTime.Now.AddDays(-9), 2);
            var miaMembershipPoint3  = new MembershipPointsEarnedEvent(miaMembershipCreated.Id, 20, MembershipPointsType.Music, DateTime.Now.AddDays(-6), 3);
            var miaUpgradeMembership = new MembershipLevelUpgradedEvent(miaMembershipCreated.Id, DateTime.Now.AddDays(-5), 4);

            var apocalypsoNameChanged  = new CustomerNameChangedEvent(apocalypso.Id, "Apocal", "Lypso", 1);
            var aphroditeNameChanged   = new CustomerNameChangedEvent(aphrodite.Id, "Aphrod", "Ite", 1);
            var apocalypsoNameChanged2 = new CustomerNameChangedEvent(apocalypso.Id, "Apo", "Calypso", 2);
            var apocalypsoNameChanged3 = new CustomerNameChangedEvent(apocalypso.Id, "Apocalyptic", "Calypso", 3);

            var result = new List <SimpleApplicationEvent>()
            {
                SimpleApplicationEvent.New(apocalypso, 1, DateTime.Now.AddDays(-30), requestedBy),
                SimpleApplicationEvent.New(apoMembershipCreated, 1, DateTime.Now.AddDays(-30), requestedBy),
                SimpleApplicationEvent.New(apollo, 1, DateTime.Now.AddDays(-29), requestedBy),
                SimpleApplicationEvent.New(apolloMembershipCreated, 1, DateTime.Now.AddDays(-29), requestedBy),
                SimpleApplicationEvent.New(aphrodite, 1, DateTime.Now.AddDays(-28), requestedBy),
                SimpleApplicationEvent.New(aphroMembershipCreated, 1, DateTime.Now.AddDays(-28), requestedBy),
                SimpleApplicationEvent.New(apocalypsoNameChanged, 1, DateTime.Now.AddDays(-25), requestedBy),
                SimpleApplicationEvent.New(rose, 1, DateTime.Now.AddDays(-25), requestedBy),
                SimpleApplicationEvent.New(roseMembershipCreated, 1, DateTime.Now.AddDays(-25), requestedBy),
                SimpleApplicationEvent.New(aphroditeNameChanged, 1, DateTime.Now.AddDays(-25), requestedBy),
                SimpleApplicationEvent.New(sophie, 1, DateTime.Now.AddDays(-22), requestedBy),
                SimpleApplicationEvent.New(sophieMembershipCreated, 1, DateTime.Now.AddDays(-22), requestedBy),
                SimpleApplicationEvent.New(chloe, 1, DateTime.Now.AddDays(-20), requestedBy),
                SimpleApplicationEvent.New(chloeMembershipCreated, 1, DateTime.Now.AddDays(-20), requestedBy),
                SimpleApplicationEvent.New(apocalypsoNameChanged2, 1, DateTime.Now.AddDays(-20), requestedBy),
                SimpleApplicationEvent.New(amelia, 1, DateTime.Now.AddDays(-18), requestedBy),
                SimpleApplicationEvent.New(ameliaMembershipCreated, 1, DateTime.Now.AddDays(-18), requestedBy),
                SimpleApplicationEvent.New(mia, 1, DateTime.Now.AddDays(-18), requestedBy),
                SimpleApplicationEvent.New(miaMembershipCreated, 1, DateTime.Now.AddDays(-18), requestedBy),
                SimpleApplicationEvent.New(charlotte, 1, DateTime.Now.AddDays(-13), requestedBy),
                SimpleApplicationEvent.New(charlotteMembershipCreated, 1, DateTime.Now.AddDays(-13), requestedBy),
                SimpleApplicationEvent.New(olivia, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(oliviaMembershipCreated, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(apocalypsoNameChanged3, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(miaMembershipPoint1, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(miaMembershipPoint2, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(miaMembershipPoint3, 1, DateTime.Now.AddDays(-10), requestedBy),
                SimpleApplicationEvent.New(miaUpgradeMembership, 1, DateTime.Now.AddDays(-9), requestedBy),
                SimpleApplicationEvent.New(miaUpgradeMembership, 1, DateTime.Now.AddDays(-8), requestedBy)
            };

            return(result);
        }