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