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); }
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); }