Example #1
0
        public async Task Consume(ConsumeContext <MembershipStartedEvent> context)
        {
            MembershipResponse membershipResponse = context.Message.MembershipResponse;
            EmailModel         emailModel         = new EmailModel
            {
                EmailAddress = membershipResponse.Email,
                Subject      = "Welcome to X Community",
                Body         = "You're officially an X community member. Congrats :)"
            };

            _logger.LogInformation("DateTime: " + DateTime.UtcNow);
            //throw new Exception("Exception test");

            await SendEmail(emailModel);

            await _messageBrokerService.PutMessageAsProcessed(context.Message.Id);
        }
Example #2
0
        public async Task <MembershipResponse> PostMembership(PostMembershipRequest postMembershipRequest)
        {
            //We suppose we saved user's data
            MembershipResponse     membershipResponse     = _mapper.Map <MembershipResponse>(postMembershipRequest);
            MembershipStartedEvent membershipStartedEvent = new MembershipStartedEvent
            {
                Id = Guid.NewGuid(),
                MembershipResponse = membershipResponse
            };

            _appDbContext.Messages.Add(new Model.Message
            {
                Id        = membershipStartedEvent.Id,
                Type      = membershipStartedEvent.GetType().ToString(),
                Content   = JsonConvert.SerializeObject(membershipStartedEvent),
                CreatedOn = DateTime.UtcNow
            });

            await _appDbContext.SaveChangesAsync();

            await _busControl.Publish(membershipStartedEvent);

            return(membershipResponse);
        }