private static void handleWebServiceBank(LoanRequest loanRequest)
 {
     WebServiceBank.WebServiceBank webBank = new WebServiceBank.WebServiceBank();
     decimal msg = webBank.ProcessLoanRequest(loanRequest.SSN, loanRequest.CreditScore, loanRequest.Amount, loanRequest.Duration);
     //TODO: Send loanrequest info aswell as decimal msg
     LoanBroker.Utility.HandleMessaging.SendMessage<decimal>("group1_bank_out", msg);
 }
        private static void handleRabbitMQJSONBank(LoanRequest loanRequest, string routingKey)
        {
            /*
            String format from pdf:
            string msg = "{\"ssn\":" + loanRequest.SSN + ",\"creditScore\":" + loanRequest.CreditScore.ToString() +
                ",\"loanAmount\":" + loanRequest.Amount.ToString() + ",\"loanDuration\":" + loanRequest.Duration +" }";

            but getting this from the bank:

            Exception: Something went wrong.Data should be sent like: { "ssn":1605789787,"loanAmount":10.0,"loanDuration":360,"rki":false}
            Can not instantiate value of type[simple type, class dk.cphbusiness.si.banktemplate.JsonDTO.BankLoanDTO] from JSON String; no single-String constructor/factory method

            */
            //string msg = "{ \"ssn\":" + loanRequest.SSN
            //    + ",\"loanAmount\":" + loanRequest.Amount.ToString(CultureInfo.CreateSpecificCulture("en-GB"))
            //    + ",\"loanDuration\":" + loanRequest.Duration.ToString()
            //    + ",\"rki\":false }";

            //TODO: 18/12/2015 A java group says we have to send a json object...
            string msg = "{ \"ssn\":" + loanRequest.SSN.Replace("-", "")
                + ",\"creditScore\":"  + loanRequest.CreditScore.ToString()
                + ",\"loanAmount\":" + loanRequest.Amount.ToString(CultureInfo.CreateSpecificCulture("en-GB"))
                + ",\"loanDuration\":" + loanRequest.Duration + " }";

            Console.WriteLine("--> Sending " + msg + " to cphbusiness.bankJSON");
            HandleMessaging.SendMessage("cphbusiness.bankJSON", routingKey, Queues.RABBITMQJSONBANK_OUT, msg, "fanout");
        }
 private static void handleRabbitMQJSONBank(LoanRequest loanRequest)
 {
     //TODO: Make cphbusiness.bankJSON work
     string msg = string.Format("{\"ssn\":{0},\"creditScore\":{1},\"loanAmount\":{2},\"loanDuration\":{3}}", loanRequest.SSN, loanRequest.CreditScore, loanRequest.Amount, loanRequest.Duration);
     LoanBroker.Utility.HandleMessaging.SendMessage("cphbusiness.bankJSON", QUEUE_REPLY_JSON, msg, "fanout");
     // And how do we get the message back?
     // Reply Channel in header
 }
 private static void handleWebServiceBank(LoanRequest loanRequest)
 {
     WebServiceBank.WebServiceBank webBank = new WebServiceBank.WebServiceBank();
     decimal msg = webBank.ProcessLoanRequest(loanRequest.SSN, loanRequest.CreditScore, loanRequest.Amount, loanRequest.Duration);
     //TODO: Send loanrequest info aswell as decimal msg
     //HandleMessaging.SendMessage<decimal>(Queues.WEBSERVICEBANK_OUT, msg);
     LoanResponse loanResponse = new LoanResponse()
     {
         SSN = loanRequest.SSN,
         BankName = "Our Web Bank",
         InterestRate = msg
     };
     HandleMessaging.SendMessage<LoanResponse>(Queues.NORMALIZER_OUT, loanResponse);
 }
 private static void handleRabbitMQXMLBank(LoanRequest loanRequest)
 {
     //TODO: Make cphbusiness.bankXML work
     DateTime dtDuraion = new DateTime(1970, 1, 1).AddMonths(loanRequest.Duration);
     string msg = string.Format("<LoanRequest><ssn>{0}</ssn><creditScore>{1}</creditScore><loanAmount>{2}</loanAmount><loanDuration>{3}</loanDuration></LoanRequest>",
         loanRequest.SSN,
         loanRequest.CreditScore,
         loanRequest.Amount,
         dtDuraion.ToString("yyyy-MM-dd HH:mm:ss:ff CET") // since we dont care about hours and so on, time zone info is useless
         );
     // Dunno the routing key..
     LoanBroker.Utility.HandleMessaging.SendMessage("cphbusiness.bankXML", QUEUE_REPLY_XML, msg, "fanout");
     // And how do we get the message back?
 }
        private static void handleRabbitMQXMLBank(LoanRequest loanRequest, string routingKey)
        {
            DateTime dtDuration = new DateTime(1970, 1, 1).AddMonths(loanRequest.Duration);

            /*

            Exception: Something went wrong. Data should be sent like:
            <LoanRequest>   <ssn>12345678</ssn>   <creditScore>685</creditScore>   <loanAmount>10.0</loanAmount>   <loanDuration>1970-01-01 01:00:00.0 CET</loanDuration> </LoanRequest> 	ParseError at [row,col]:[1,1]
            Message: Content is not allowed in prolog.

            */
            string msg = string.Format("<LoanRequest><ssn>{0}</ssn><creditScore>{1}</creditScore><loanAmount>{2}</loanAmount><loanDuration>{3}</loanDuration></LoanRequest>",
                loanRequest.SSN,
                loanRequest.CreditScore.ToString(),
                loanRequest.Amount.ToString(CultureInfo.CreateSpecificCulture("en-GB")),
                dtDuration.ToString("yyyy-MM-dd HH:mm:ss:ff CET") // since we dont care about hours and so on, time zone info is useless
                );
            //string msg = "<LoanRequest>   <ssn>12345678</ssn>   <creditScore>685</creditScore>   <loanAmount>10.0</loanAmount>   <loanDuration>1970-01-01 01:00:00.0 CET</loanDuration> </LoanRequest>";
            HandleMessaging.SendMessage("cphbusiness.bankXML" , string.Empty, Queues.RABBITMQXMLBANK_OUT, msg, "fanout");
        }
 private static void handleRabbitMQOurBank(LoanRequest loanRequest)
 {
     //SSN;CreditScore;Amount;Duration
     string msg = string.Format("{0};{1};{2};{3}", loanRequest.SSN, loanRequest.CreditScore, loanRequest.Amount, loanRequest.Duration);
     LoanBroker.Utility.HandleMessaging.SendMessage<string>(QUEUE_OUT, msg);
 }
 private static void handleRabbitMQOurBank(LoanRequest loanRequest)
 {
     //SSN;CreditScore;Amount;Duration
     string msg = string.Format("{0};{1};{2};{3}", loanRequest.SSN, loanRequest.CreditScore, loanRequest.Amount, loanRequest.Duration);
     HandleMessaging.SendMessage<string>(Queues.RABBITMQOURBANK_IN, msg);
 }