Esempio n. 1
0
        static bool TranslateToPrivateCore(Message publicMessage, out AddressedPrivateCommand privateMessage)
        {
            switch (publicMessage.Payload)
            {
            case CreateAccount cmd:
                privateMessage = CreateFromTranslation(
                    new PrivateCommand.CreateAccount(cmd.Amount),
                    publicMessage.Headers,
                    "HandlerClientEndpoint");
                return(true);

            case CreditAccount cmd:
                privateMessage = CreateFromTranslation(
                    new PrivateCommand.CreditAccount(cmd.AccountId, cmd.Amount),
                    publicMessage.Headers,
                    "HandlerClientEndpoint");
                return(true);

            case DebitAccount cmd:
                privateMessage = CreateFromTranslation(
                    new PrivateCommand.DebitAccount(cmd.AccountId, cmd.Amount),
                    publicMessage.Headers,
                    "HandlerClientEndpoint");
                return(true);

            default:
                privateMessage = null;
                return(false);
            }
        }
Esempio n. 2
0
        public bool TranslateToPrivate(Message publicMessage, out AddressedPrivateCommand privateMessage)
        {
            bool result;

            try
            {
                result = TranslateToPrivateCore(publicMessage, out privateMessage);
            }
            catch (Exception ex)
            {
                throw new Exception("ERROR Translator input [public]:" + publicMessage);
            }

            if (result)
            {
                Console.WriteLine("Translator input [public]: " + publicMessage);
                return(true);
            }

            Console.WriteLine("FAILED Translator input [public]: " + publicMessage);
            return(false);
        }