コード例 #1
0
        public void SendActivationCode(ActivationCodeEmail activationCodeEmail)
        {
            using var channel = _connection.CreateModel();
            channel.QueueDeclare(QueueName, true, false, false, null);

            var message = JsonSerializer.Serialize(activationCodeEmail);
            var body    = Encoding.UTF8.GetBytes(message);

            var properties = channel.CreateBasicProperties();

            properties.Persistent = true;

            channel.BasicPublish(string.Empty, QueueName, properties, body);
        }
コード例 #2
0
        public async Task Register(AuthRegister authRegister)
        {
            var identity = Identity.Create(authRegister.UserId, authRegister.Email,
                                           authRegister.Password, authRegister.PasswordKey);

            await _identityRepository.Create(identity);

            var activationCode = ActivationCode.Generate();

            var code = Code.Create(Code.CodeType.ActivationCode, activationCode, identity.Id);

            await _codeRepository.Create(code);

            var activationCodeEmail = new ActivationCodeEmail
            {
                Email          = identity.Email,
                ActivationCode = code.Value,
                FullName       = authRegister.FullName
            };

            _emailPublisher.SendActivationCode(activationCodeEmail);
        }