Example #1
0
        public bool GetCurrencyRates(DataTable exchangeRates)
        {
            int     noOfRates;
            DataRow dr;
            //var binding = new BasicHttpsBinding("PerSecurityHttpsBinding");
            var binding = new BasicHttpBinding("PerSecurityHttpBinding");
            //var binding = new WSHttpBinding("PerSecurityWSBinding2");
            var endpoint = new EndpointAddress(new Uri(endpointurl));
            //var channelFactory = new ChannelFactory<PerSecurityWSChannel>(binding, endpoint);
            var channelFactory = new ChannelFactory <PerSecurityWS>(binding, endpoint);

            channelFactory.Credentials.
            ClientCertificate.Certificate = new X509Certificate2(certificatePath);



            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
            channelFactory.Open();

            //PerSecurityWSChannel ps = channelFactory.CreateChannel();
            PerSecurityWS ps = channelFactory.CreateChannel();


            //Setting request header information
            GetDataHeaders getDataHeaders = new GetDataHeaders
            {
                secmaster              = true,
                secmasterSpecified     = true,
                closingvalues          = true,
                closingvaluesSpecified = true
            };

            // Console.WriteLine("test 1 ");
            noOfRates = exchangeRates.Rows.Count;
            if (noOfRates < 1)
            {
                return(true);
            }

            SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest
            {
                headers = getDataHeaders,
                fields  = CurrencyTypeToFetch(),

                //Old version
                instruments = new Instrument[noOfRates] // { ticker1};
            };

            //sbmtGtDtreq.instruments = new Instruments();
            //sbmtGtDtreq.instruments.instrument = new Instrument[noOfRates];

            for (int i = 0; i < noOfRates; i++)
            {
                dr = exchangeRates.Rows[i];

                //Old version
                sbmtGtDtreq.instruments[i] = new Instrument
                {
                    id                 = dr.ItemArray[0].ToString(),
                    yellowkey          = MarketSector.Curncy,
                    yellowkeySpecified = true
                };
            } // end for

            try
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12;

                submitGetDataRequestRequest sbmtGtDtreq0 = new submitGetDataRequestRequest(sbmtGtDtreq);
                SubmitGetDataResponse       sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq0).submitGetDataResponse;
            }
            catch (Exception exx)
            {
                Console.WriteLine(exx.Message);
                return(false);
            }
            finally
            {
                ((PerSecurityWSChannel)ps).Close();
                channelFactory.Close();
            }
            return(true);
        }
Example #2
0
        public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                //Setting request header information
                GetDataHeaders getDataHdrs = new GetDataHeaders();
                getDataHdrs.secmasterSpecified = true;
                getDataHdrs.secmaster = true;

                //Setting instruments for request
                Instruments instrs = new Instruments();
                instrs.macro = new Macro[2];
                instrs.macro[0] = new Macro();
                instrs.macro[0].primaryQualifier = new PrimaryQualifier();
                instrs.macro[0].primaryQualifier.primaryQualifierType = MacroType.SECTYP;
                instrs.macro[0].primaryQualifier.primaryQualifierValue = "OPT_CHAIN";

                instrs.macro[0].secondaryQualifier = new SecondaryQualifier[1];
                instrs.macro[0].secondaryQualifier[0] = new SecondaryQualifier();
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals;
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.SECURITY_DES;
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierValue = "SPX Index";
                instrs.macro[0].overrides = new Override[1];
                //A sample of incorrect macro
                instrs.macro[1] = new Macro();
                instrs.macro[1].primaryQualifier = new PrimaryQualifier();
                instrs.macro[1].primaryQualifier.primaryQualifierType = MacroType.SECTYP;
                instrs.macro[1].primaryQualifier.primaryQualifierValue = "OPTCHAIN";

                instrs.macro[1].secondaryQualifier = new SecondaryQualifier[1];
                instrs.macro[1].secondaryQualifier[0] = new SecondaryQualifier();
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals;
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierType = SecondaryQualifierType.SECURITY_DES;
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierValue = "SPX Index";
               
                //Setting fields for the request
                string[] field = new string[] { "NAME", "TICKER", "PX_LAST" };

                //Submit get data request
                Console.WriteLine("Sending submit get data request");
                SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest();
                sbmtGtDtreq.headers = getDataHdrs;
                sbmtGtDtreq.fields = field;
                sbmtGtDtreq.instruments = instrs;

                SubmitGetDataResponse sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq);
                System.Console.WriteLine("status " + sbmtGtDtresp.statusCode.description);
                System.Console.WriteLine("Submit Get Data request -  response ID = " + sbmtGtDtresp.responseId);

                //retrieve get data request. The response ID sent for the request is the response ID
                //received from SubmitGetDataRequest()

                Console.WriteLine("Retrieve data request");
                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtresp.responseId;
                RetrieveGetDataResponse rtrvGtDrResp = new RetrieveGetDataResponse();

                //Keep sending the request until status code is "0"(success)
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
                    rtrvGtDrResp = ps.retrieveGetDataResponse(rtrvGtDrReq);
                }
                while (rtrvGtDrResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE);

                if (rtrvGtDrResp.statusCode.code == PerSecurity.SUCCESS)
                {
                    Console.WriteLine("Retrieve get data request successful");
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        if (rtrvGtDrResp.instrumentDatas[i].code.Equals("0"))
                        {
                            System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                                "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                            for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                            {
                                if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                                {
                                    //In case this is a bulk field request
                                    for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].
                                        bulkarray.Length; k++)
                                    {
                                        Console.WriteLine("-------------------------");
                                        for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                            bulkarray[k].data.Length; l++)
                                            Console.WriteLine(rtrvGtDrResp.instrumentDatas[i].data[j]
                                                .bulkarray[k].data[l].value);
                                    }
                                }
                                else

                                    System.Console.WriteLine("	" + sbmtGtDtreq.fields[j] + " : " + 
                                        rtrvGtDrResp.instrumentDatas[i].data[j].value);
                            }
                        }
                        //If an incorrect macro was passed in the request, display the error code and the incorrect macro
                        else
                        {
                            System.Console.WriteLine("\n Error Code " + rtrvGtDrResp.instrumentDatas[i].code +
                                ": incorrect macro. The Macro object is as follows:");
                            Console.WriteLine("Primary Qualifier -");
                            Console.WriteLine("Primary Qualifier type:" + rtrvGtDrResp.instrumentDatas[i].
                                macro.primaryQualifier.primaryQualifierType);
                            Console.WriteLine("Primary Qualifier value:" + rtrvGtDrResp.instrumentDatas[i].
                                macro.primaryQualifier.primaryQualifierValue);
                            Console.WriteLine("Secondary Qualifier -");
                            for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].macro.secondaryQualifier.Length; l++)
                            {
                                Console.WriteLine("Secondary Qualifier type :" + rtrvGtDrResp.instrumentDatas[i].
                                    macro.secondaryQualifier[l].secondaryQualifierType);
                                Console.WriteLine("Secondary Qualifier Value :" + rtrvGtDrResp.instrumentDatas[i].
                                    macro.secondaryQualifier[l].secondaryQualifierValue);
                                Console.WriteLine("Secondary Qualifier Operator :" + rtrvGtDrResp.instrumentDatas[i].
                                    macro.secondaryQualifier[l].secondaryQualifierOperator);
                            }
                        }

                    }
                    
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.REQUEST_ERROR)
                    Console.WriteLine("Error in the submitted request");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "  " + e.StackTrace);
            }
        }
Example #3
0
        public bool GetCurrencyRates1(DataTable exchangeRates)
        {
            DataRow dr;
            int     noOfRates;

            PerSecurityWSClient ps = new PerSecurityWSClient("PerSecurityHttpPort");
            //PerSecurityWSClient ps = new PerSecurityWSClient("PerSecurityHttpsPort");
            // PerSecurityWSClient ps = new PerSecurityWSClient("PerSecurityWSPort");

            //X509Certificate2 clientCert = new X509Certificate2(certificatePath);

            X509Certificate2 clientCert = GetBloomBergCertificate();

            ps.ClientCredentials.ClientCertificate.Certificate = clientCert;



            //Setting request header information
            GetDataHeaders getDataHeaders = new GetDataHeaders
            {
                secmaster              = true,
                secmasterSpecified     = true,
                closingvalues          = true,
                closingvaluesSpecified = true
            };

            // Console.WriteLine("test 1 ");
            noOfRates = exchangeRates.Rows.Count;
            if (noOfRates < 1)
            {
                return(true);
            }

            SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest
            {
                headers = getDataHeaders,
                fields  = CurrencyTypeToFetch(),

                //Old version
                instruments = new Instrument[noOfRates] // { ticker1};
            };

            //sbmtGtDtreq.instruments = new Instruments();
            //sbmtGtDtreq.instruments.instrument = new Instrument[noOfRates];

            for (int i = 0; i < noOfRates; i++)
            {
                dr = exchangeRates.Rows[i];

                //Old version
                sbmtGtDtreq.instruments[i] = new Instrument
                {
                    id                 = dr.ItemArray[0].ToString(),
                    yellowkey          = MarketSector.Curncy,
                    yellowkeySpecified = true
                };
                //sbmtGtDtreq.instruments.instrument[i] = new Instrument();
                //sbmtGtDtreq.instruments.instrument[i].id = dr.ItemArray[0].ToString();
                //sbmtGtDtreq.instruments.instrument[i].yellowkey = MarketSector.Curncy;
                //sbmtGtDtreq.instruments.instrument[i].yellowkeySpecified = true;
            } // end for

            try
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12;
                SubmitGetDataResponse sbmtGtDtresp = new SubmitGetDataResponse();

                sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq);
            }
            catch (Exception exx)
            {
                Console.WriteLine(exx.Message);
                return(false);
            }
            return(true);
        }
Example #4
0
        public void run(PerSecurityWS ps)
        {
            try
            {
                // Setting the instruments for request
                Instrument bbUniqueId = new Instrument();
                bbUniqueId.id = "EQ0086119600001000";
                bbUniqueId.yellowkeySpecified = false;
                bbUniqueId.type          = InstrumentType.BB_UNIQUE;
                bbUniqueId.typeSpecified = true;

                Instrument ticker = new Instrument();
                ticker.id = "IBM US";
                ticker.yellowkeySpecified = true;
                ticker.yellowkey          = MarketSector.Equity;
                ticker.typeSpecified      = false;
                ticker.type = InstrumentType.TICKER;

                // Setting request header
                GetDataHeaders getDataHeaders = new GetDataHeaders();
                getDataHeaders.secmaster              = true;
                getDataHeaders.secmasterSpecified     = true;
                getDataHeaders.closingvalues          = true;
                getDataHeaders.closingvaluesSpecified = true;
                getDataHeaders.programflagSpecified   = true;
                getDataHeaders.programflag            = ProgramFlag.daily;
                getDataHeaders.rundate             = DateTime.Today.ToString("yyyyMMdd");
                getDataHeaders.time                = "0010";
                getDataHeaders.derived             = true;
                getDataHeaders.specialchar         = SpecialChar.fraction;
                getDataHeaders.dateformat          = DateFormat.ddmmyyyy;
                getDataHeaders.dateformatSpecified = true;

                Instruments instrs = new Instruments();
                instrs.instrument = new Instrument[] { bbUniqueId, ticker };

                // Submit getdata request
                SubmitGetDataRequest sbmtGtDrReq = new SubmitGetDataRequest();
                sbmtGtDrReq.headers     = getDataHeaders;
                sbmtGtDrReq.fields      = new string[] { "ID_BB_UNIQUE", "TICKER", "PX_LAST", "PX_ASK", "PX_BID", "VWAP_DT" };
                sbmtGtDrReq.instruments = instrs;

                Console.WriteLine("Submit getdata request");

                submitGetDataRequestRequest  sbmtGtDrReqReq   = new submitGetDataRequestRequest(sbmtGtDrReq);
                submitGetDataRequestResponse sbmtGetDtReqResp = ps.submitGetDataRequest(sbmtGtDrReqReq);
                SubmitGetDataResponse        sbmtGetDtResp    = sbmtGetDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("Submit getdata response Id = " + sbmtGetDtResp.responseId + "\n");

                // Submit scheduled request for the getdata request sent above
                SubmitScheduledRequest sbmtSchReq = new SubmitScheduledRequest();
                Console.WriteLine("Submit scheduled request");

                submitScheduledRequestRequest  sbmtSchReqReq  = new submitScheduledRequestRequest(sbmtSchReq);
                submitScheduledRequestResponse sbmtSchReqResp = ps.submitScheduledRequest(sbmtSchReqReq);
                SubmitScheduledResponse        sbmtSchResp    = sbmtSchReqResp.submitScheduledResponse;

                Console.WriteLine("Submit Schedule request responseID : " + sbmtSchResp.responseId + "\n");

                // Submit retrieve scheduled request to display all the scheduled files and check to see
                // if the daily job requested was addeds
                Console.WriteLine("Retrieve scheduled request");
                RetrieveScheduledRequest rtrvSchReq = new RetrieveScheduledRequest();
                rtrvSchReq.responseId = sbmtSchResp.responseId;

                retrieveScheduledResponseRequest  rtrvSchRespReq = new retrieveScheduledResponseRequest(rtrvSchReq);
                retrieveScheduledResponseResponse rtrvSchRespResp;

                RetrieveScheduledResponse rtrvSchResp;

                // Keep sending the request until the entire response is received
                do
                {
                    Console.WriteLine("Polling for scheduled request");
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    rtrvSchRespResp = ps.retrieveScheduledResponse(rtrvSchRespReq);
                    rtrvSchResp     = rtrvSchRespResp.retrieveScheduledResponse;
                }while (rtrvSchResp.statusCode.code == PerSecurity.DataNotAvailable);
                Console.WriteLine(rtrvSchResp.responseId);

                for (int i = 0; i < rtrvSchResp.fileDatas.Length; i++)
                {
                    if (rtrvSchResp.fileDatas[i].responseId == sbmtGetDtResp.responseId)
                    {
                        Console.WriteLine("Response ID requested by submit getdata request: " +
                                          rtrvSchResp.fileDatas[i].responseId);
                    }
                    else
                    {
                        Console.WriteLine("Response ID: " + rtrvSchResp.fileDatas[i].responseId + "\n");
                    }

                    Console.WriteLine("Response Header for retrieve schedule request");

                    Dictionary <string, dynamic> headerRef = new Dictionary <string, dynamic>();
                    headerRef.Add("getdata", rtrvSchResp.fileDatas[i].headers.getdataHeaders);
                    headerRef.Add("gethistory", rtrvSchResp.fileDatas[i].headers.gethistoryHeaders);
                    headerRef.Add("getquotes", rtrvSchResp.fileDatas[i].headers.getquotesHeaders);
                    headerRef.Add("getallquotes", rtrvSchResp.fileDatas[i].headers.getallquotesHeaders);
                    headerRef.Add("getactions", rtrvSchResp.fileDatas[i].headers.getactionsHeaders);
                    headerRef.Add("getcompany", rtrvSchResp.fileDatas[i].headers.getcompanyHeaders);
                    headerRef.Add("getfundamentals", rtrvSchResp.fileDatas[i].headers.getfundamentalsHeaders);

                    foreach (KeyValuePair <string, dynamic> header in headerRef)
                    {
                        if (header.Value != null)
                        {
                            Console.WriteLine("ProgramName: " + header.Key);
                            Console.WriteLine("Date: " + header.Value.rundate +
                                              " Time: " + header.Value.time + " Scheduled: " +
                                              header.Value.programflag);

                            if (rtrvSchResp.fileDatas[i].fields != null)
                            {
                                Console.WriteLine("Fields");
                                for (int j = 0; j < rtrvSchResp.fileDatas[i].fields.Length; j++)
                                {
                                    Console.WriteLine(rtrvSchResp.fileDatas[i].fields[j]);
                                }
                            }

                            if (rtrvSchResp.fileDatas[i].instruments != null)
                            {
                                Console.WriteLine("Instruments");
                                for (int j = 0; j < rtrvSchResp.fileDatas[i].instruments.instrument.Length; j++)
                                {
                                    Console.WriteLine("ID: " + rtrvSchResp.fileDatas[i].instruments.instrument[j].id +
                                                      " Type: " + rtrvSchResp.fileDatas[i].instruments.instrument[j].type);
                                }
                            }
                        }
                    }
                }

                // Sending a request to cancel the request for the daily job

                CancelHeaders cancelHeaders = new CancelHeaders();
                cancelHeaders.programflag = ProgramFlag.daily;

                SubmitCancelRequest sbCancelReq = new SubmitCancelRequest();

                // use the responce id of the original multiday request submitted above.
                sbCancelReq.responseId = new string[] { sbmtGetDtResp.responseId };
                sbCancelReq.headers    = cancelHeaders;

                Console.WriteLine("Submit Cancel request");

                submitCancelRequestRequest  sbCancelReqReq  = new submitCancelRequestRequest(sbCancelReq);
                submitCancelRequestResponse sbCancelReqResp = ps.submitCancelRequest(sbCancelReqReq);
                SubmitCancelResponse        sbCancelResp    = sbCancelReqResp.submitCancelResponse;

                if (sbCancelResp.statusCode.code == 0)
                {
                    Console.WriteLine("Submit Cancel request response ID: " + sbCancelResp.responseId);
                }

                // Checked the scheduled request to check if the daily job has been removed
                SubmitScheduledRequest sbmtSchReqCheck = new SubmitScheduledRequest();

                Console.WriteLine("Submit scheduled request");

                submitScheduledRequestRequest  sbmtSchReqReqCheck  = new submitScheduledRequestRequest(sbmtSchReqCheck);
                submitScheduledRequestResponse sbmtSchReqRespCheck = ps.submitScheduledRequest(sbmtSchReqReqCheck);
                SubmitScheduledResponse        sbmtSchRespCheck    = sbmtSchReqRespCheck.submitScheduledResponse;

                Console.WriteLine("Submit Schedule request responseID : " + sbmtSchRespCheck.responseId + "\n");

                Console.WriteLine("Retrieve scheduled request");
                RetrieveScheduledRequest schReqCheck = new RetrieveScheduledRequest();
                schReqCheck.responseId = sbmtSchRespCheck.responseId;

                retrieveScheduledResponseRequest  schRespReqCheck = new retrieveScheduledResponseRequest(schReqCheck);
                retrieveScheduledResponseResponse schRespRespCheck;

                RetrieveScheduledResponse schRespCheck;
                int pollCnt = 0;
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    schRespRespCheck = ps.retrieveScheduledResponse(schRespReqCheck);
                    schRespCheck     = schRespRespCheck.retrieveScheduledResponse;
                    pollCnt++;
                }while (schRespCheck.fileDatas == null && pollCnt < 5); // Keep polling for few times

                Console.WriteLine("response ID for retrieveSchedule respone: " + schRespCheck.responseId);

                bool   flag       = false;
                string dispRespId = null;
                if (schRespCheck.fileDatas != null)
                {
                    for (int i = 0; i < schRespCheck.fileDatas.Length; i++)
                    {
                        if (schRespCheck.fileDatas[i].responseId == sbmtGetDtResp.responseId)
                        {
                            flag       = true;
                            dispRespId = schRespCheck.fileDatas[i].responseId;
                            break;
                        }
                    }
                }
                if (flag)
                {
                    Console.WriteLine("The daily job with response ID: " + dispRespId +
                                      " was not cancelled successfully");
                }
                else
                {
                    Console.WriteLine("The daily job was cancelled successfully");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + e.StackTrace);
            }
        }
Example #5
0
		public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps)
		{
			
			//Set request header
			GetDataHeaders getDataHeaders = new GetDataHeaders();
			getDataHeaders.secmaster = true;
            getDataHeaders.secmasterSpecified = true;
			getDataHeaders.closingvalues = true;
			getDataHeaders.closingvaluesSpecified = true;
			
			//Defining the instruments for the bulk request
			Instrument ticker = new Instrument();
			ticker.id = "IBM US";
			ticker.yellowkeySpecified = true;
			ticker.yellowkey = MarketSector.Equity;
			ticker.typeSpecified = false;
			ticker.type = InstrumentType.TICKER;

			
			Console.WriteLine("Submit get Data request");
			SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest();
			sbmtGtDtreq.headers = getDataHeaders;
			sbmtGtDtreq.fields = new string[]{"TOP_ANALYST_PERFORM_RANK_TRR"};//Bulk field 
            Instruments instrs = new Instruments();
            instrs.instrument = new Instrument[] { ticker };
            sbmtGtDtreq.instruments = instrs;
			try
			{
				SubmitGetDataResponse sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq);
				System.Console.WriteLine("Request ID = "  + sbmtGtDtresp.requestId + " " + sbmtGtDtresp.responseId);
				System.Console.WriteLine("status of Get Data request :  " + sbmtGtDtresp.statusCode.description);
			
				Console.WriteLine("Retrieve get data request");
				RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
				rtrvGtDrReq.responseId = sbmtGtDtresp.responseId;
				RetrieveGetDataResponse rtrvGtDrResp = new RetrieveGetDataResponse();
				do
				{
					System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
					rtrvGtDrResp = ps.retrieveGetDataResponse(rtrvGtDrReq);
			}
				while(rtrvGtDrResp.statusCode.code==PerSecurity.DATA_NOT_AVAILABLE);
                if(rtrvGtDrResp.statusCode.code==PerSecurity.SUCCESS){
				Console.WriteLine("Response ID " +  rtrvGtDrResp.responseId);
                for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                {
                    System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                        "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                    for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                    {
                        if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                        {
                            for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++)
                            {
                                Console.WriteLine("-------------------------");
                                for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                    bulkarray[k].data.Length; l++)
                                    Console.WriteLine(rtrvGtDrResp.instrumentDatas[i].
                                        data[j].bulkarray[k].data[l].value);
                            }
                        }
                        else

                            System.Console.WriteLine("	" + sbmtGtDtreq.fields[j] + " : " +
                                rtrvGtDrResp.instrumentDatas[i].data[j].value);
                    }
                }
				}
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.REQUEST_ERROR)
                {
                    Console.WriteLine("Error in the submitted request");
                }
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message);
			}
		}
Example #6
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                // Setting header for the request
                GetFundamentalsHeaders getFundHeaders = new GetFundamentalsHeaders();
                GetDataHeaders getDataHeaders = new GetDataHeaders();
                getDataHeaders.closingvaluesSpecified = true;
                getDataHeaders.closingvalues = true;
                getDataHeaders.secmasterSpecified = true;
                getDataHeaders.secmaster = true;
                getDataHeaders.derivedSpecified = true;
                getDataHeaders.derived = true;

                // Setting instruments for the request
			Instrument ticker = new Instrument();
			ticker.id = "IBM US";
			ticker.type = InstrumentType.TICKER;
			ticker.yellowkey = MarketSector.Equity;

			Instrument bbUniqueId = new Instrument();
			bbUniqueId.id = "EQ0086119600001000";
			bbUniqueId.type = InstrumentType.BB_UNIQUE;
			Instrument[] instr = new Instrument[] { ticker, bbUniqueId };
			
			String[] field = new String[] { "TOP_ANALYST_PERFORM_RANK_TRR" };


                // Sending submit get data request
			SubmitGetDataRequest sbmtGetDtReq = new SubmitGetDataRequest();
			sbmtGetDtReq.headers = getDataHeaders;
			sbmtGetDtReq.fields = field;
			Instruments instrmnts = new Instruments();
			instrmnts.instrument = instr;
			sbmtGetDtReq.instruments = instrmnts;
			Console.WriteLine("Sending submit get bulk data request");
			SubmitGetDataResponse sbmtGetDtResp = ps
					.submitGetDataRequest(sbmtGetDtReq);
			Console.WriteLine("Submit get data request status: "
					+ sbmtGetDtResp.statusCode.description
					+ "  response ID: " + sbmtGetDtResp.responseId);


                // Sending retrieve get data request
			RetrieveGetDataRequest rtvGetDtReq = new RetrieveGetDataRequest();
			rtvGetDtReq.responseId = sbmtGetDtResp.responseId;
			RetrieveGetDataResponse rtvGetDtResp = new RetrieveGetDataResponse();
            Console.WriteLine("Sending retrieve get data request");
			
			// Keep polling for response till the data is available
			do {
                System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
				rtvGetDtResp = ps.retrieveGetDataResponse(rtvGetDtReq);

			} while (rtvGetDtResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE);
			

                // Display data
			if (rtvGetDtResp.statusCode.code == PerSecurity.SUCCESS) {
				Console.WriteLine("Retrieve get data request successful. Response ID: "
						+ rtvGetDtResp.responseId);
				for (int i = 0; i < rtvGetDtResp.instrumentDatas.Length; i++) {
                    InstrumentData data = rtvGetDtResp.instrumentDatas[i];
					Console.WriteLine(data.instrument.id);
					Data[] datas = data.data;
					for (int j = 0; j < datas.Length; j++) {
						//Displaying bulk data
						if (datas[j].isArray) {

							for (int k = 0; k < datas[j].bulkarray.Length; k++)
                                for (int l = 0; l < datas[j].bulkarray[k].data.Length; l++) {
                                    Console.WriteLine(datas[j].bulkarray[k].data[l].type
													+ ": "
                                                    + datas[j].bulkarray[k].data[l].value);
								}
						} 
						//Displaying non-bulk data
						else
							Console.WriteLine(datas[j].value);
                        	}
				}
			} else if (rtvGetDtResp.statusCode.code == PerSecurity.REQUEST_ERROR)
                Console.WriteLine("Error in submitted request");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #7
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            // Setting request header information
            GetDataHeaders getDataHeaders = new GetDataHeaders();

            getDataHeaders.secmaster              = true;
            getDataHeaders.secmasterSpecified     = true;
            getDataHeaders.closingvalues          = true;
            getDataHeaders.closingvaluesSpecified = true;
            getDataHeaders.derived          = true;
            getDataHeaders.derivedSpecified = true;

            // Setting overrides
            Override[] ovride = new Override[4];
            ovride[0]       = new Override();
            ovride[0].field = "VWAP_START_DT";
            DateTime start = DateTime.Today;

            // Specifying VWAP_START_DT in yyyymmdd format
            if (start.Month < 10)
            {
                ovride[0].value = start.Year.ToString() + "0" + start.Month.ToString() + start.Day.ToString();
            }
            else
            {
                ovride[0].value = start.Year.ToString() + start.Month.ToString() + start.Day.ToString();
            }
            ovride[1]       = new Override();
            ovride[1].field = "VWAP_END_DT";
            DateTime end = DateTime.Today;

            // Specifying VWAP_END_DT in yyyymmdd format
            if (start.Month < 10)
            {
                ovride[1].value = end.Year.ToString() + "0" + end.Month.ToString() + end.Day.ToString();
            }
            else
            {
                ovride[1].value = end.Year.ToString() + end.Month.ToString() + end.Day.ToString();
            }
            ovride[2]       = new Override();
            ovride[2].field = "VWAP_START_TIME";
            ovride[2].value = "10:00";
            ovride[3]       = new Override();
            ovride[3].field = "VWAP_END_TIME";
            ovride[3].value = "11:00";

            // Setting the instruments for request
            Instrument bbUniqueId = new Instrument();

            bbUniqueId.id = "EQ0086119600001000";
            bbUniqueId.yellowkeySpecified = false;
            bbUniqueId.type          = InstrumentType.BB_UNIQUE;
            bbUniqueId.typeSpecified = true;
            bbUniqueId.overrides     = ovride;

            Instrument ticker = new Instrument();

            ticker.id = "IBM US";
            ticker.yellowkeySpecified = true;
            ticker.yellowkey          = MarketSector.Equity;
            ticker.typeSpecified      = false;
            ticker.type      = InstrumentType.TICKER;
            ticker.overrides = ovride;

            Instruments instrs = new Instruments();

            instrs.instrument = new Instrument[] { ticker, bbUniqueId };

            // Setting the getdata request parameter
            SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest();

            sbmtGtDtReq.headers     = getDataHeaders;
            sbmtGtDtReq.fields      = new string[] { "EQY_WEIGHTED_AVG_PX" };
            sbmtGtDtReq.instruments = instrs;

            try
            {
                Console.WriteLine("Submit getdata Request");

                submitGetDataRequestRequest  sbmtGtDtReqReq  = new submitGetDataRequestRequest(sbmtGtDtReq);
                submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq);
                SubmitGetDataResponse        sbmtGtDtResp    = sbmtGtDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description);
                System.Console.WriteLine("Submit getdata request -  response ID = " + sbmtGtDtResp.responseId);

                // retrieve getdata request. The response ID sent for the request is the response ID
                // received from SubmitGetDataRequest()
                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtResp.responseId;

                retrieveGetDataResponseRequest  rtrvGtDrRespReq = new retrieveGetDataResponseRequest(rtrvGtDrReq);
                retrieveGetDataResponseResponse rtrvGtDrRespResp;

                RetrieveGetDataResponse rtrvGtDrResp;

                Console.WriteLine("Retrieve getdata request");

                // Keep polling until data becomes available
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq);
                    rtrvGtDrResp     = rtrvGtDrRespResp.retrieveGetDataResponse;
                }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable);

                if (rtrvGtDrResp.statusCode.code == PerSecurity.Success)
                {
                    // Displaying the RetrieveGetDataResponse
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                                          "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                        for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                        {
                            if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                            {
                                // In case this is a bulk field request
                                for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++)
                                {
                                    Console.WriteLine("-------------------------");
                                    for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                         bulkarray[k].data.Length; l++)
                                    {
                                        Console.WriteLine(rtrvGtDrResp.
                                                          instrumentDatas[i].data[j].bulkarray[k].data[l].value);
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("	" + rtrvGtDrResp.fields[j] + " : " + rtrvGtDrResp.
                                                  instrumentDatas[i].data[j].value);
                            }
                        }
                    }
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in the submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "   " + e.StackTrace);
            }
        }
Example #8
0
        public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                // Setting request header information
                GetDataHeaders getDataHdrs = new GetDataHeaders();
                getDataHdrs.secmasterSpecified = true;
                getDataHdrs.secmaster          = true;

                // Setting instruments for request
                Instruments instrs = new Instruments();
                instrs.macro    = new Macro[2];
                instrs.macro[0] = new Macro();
                instrs.macro[0].primaryQualifier = new PrimaryQualifier();
                instrs.macro[0].primaryQualifier.primaryQualifierType  = MacroType.SECTYP;
                instrs.macro[0].primaryQualifier.primaryQualifierValue = "OPT_CHAIN";

                instrs.macro[0].secondaryQualifier    = new SecondaryQualifier[1];
                instrs.macro[0].secondaryQualifier[0] = new SecondaryQualifier();
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals;
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierType     = SecondaryQualifierType.SECURITY_DES;
                instrs.macro[0].secondaryQualifier[0].secondaryQualifierValue    = "AMZN US Equity";
                instrs.macro[0].overrides = new Override[1];

                // A sample of incorrect macro
                instrs.macro[1] = new Macro();
                instrs.macro[1].primaryQualifier = new PrimaryQualifier();
                instrs.macro[1].primaryQualifier.primaryQualifierType  = MacroType.SECTYP;
                instrs.macro[1].primaryQualifier.primaryQualifierValue = "OPTCHAIN";

                instrs.macro[1].secondaryQualifier    = new SecondaryQualifier[1];
                instrs.macro[1].secondaryQualifier[0] = new SecondaryQualifier();
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierOperator = SecondaryQualifierOperator.Equals;
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierType     = SecondaryQualifierType.SECURITY_DES;
                instrs.macro[1].secondaryQualifier[0].secondaryQualifierValue    = "AMZN US Equity";

                // Setting fields for the request
                string[] field = new string[] { "NAME", "TICKER", "PX_LAST" };

                // Submit getdata request
                Console.WriteLine("Sending submit getdata request");
                SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest();
                sbmtGtDtReq.headers     = getDataHdrs;
                sbmtGtDtReq.fields      = field;
                sbmtGtDtReq.instruments = instrs;

                submitGetDataRequestRequest  sbmtGtDtReqReq  = new submitGetDataRequestRequest(sbmtGtDtReq);
                submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq);
                SubmitGetDataResponse        sbmtGtDtResp    = sbmtGtDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description);
                System.Console.WriteLine("Submit getdata request -  response ID = " + sbmtGtDtResp.responseId);

                // retrieve getdata request. The response ID sent for the request is the response ID
                // received from SubmitGetDataRequest()

                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtResp.responseId;

                retrieveGetDataResponseRequest  rtrvGtDrRespReq = new retrieveGetDataResponseRequest(rtrvGtDrReq);
                retrieveGetDataResponseResponse rtrvGtDrRespResp;

                RetrieveGetDataResponse rtrvGtDrResp;

                Console.WriteLine("Retrieve getdata request");

                // Keep polling until data becomes available
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq);
                    rtrvGtDrResp     = rtrvGtDrRespResp.retrieveGetDataResponse;
                }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable);

                if (rtrvGtDrResp.statusCode.code == PerSecurity.Success)
                {
                    Console.WriteLine("Retrieve getdata request successful");
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        if (rtrvGtDrResp.instrumentDatas[i].code.Equals("0"))
                        {
                            System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                                                     "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                            for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                            {
                                if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                                {
                                    // In case this is a bulk field request
                                    for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].
                                         bulkarray.Length; k++)
                                    {
                                        Console.WriteLine("-------------------------");
                                        for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                             bulkarray[k].data.Length; l++)
                                        {
                                            Console.WriteLine(rtrvGtDrResp.instrumentDatas[i].data[j]
                                                              .bulkarray[k].data[l].value);
                                        }
                                    }
                                }
                                else
                                {
                                    System.Console.WriteLine("	"+ rtrvGtDrResp.fields[j] + " : " +
                                                             rtrvGtDrResp.instrumentDatas[i].data[j].value);
                                }
                            }
                        }

                        // If an incorrect macro was passed in the request, display the error code and the incorrect macro
                        else
                        {
                            System.Console.WriteLine("\n Error Code " + rtrvGtDrResp.instrumentDatas[i].code +
                                                     ": incorrect macro. The Macro object is as follows:");
                            Console.WriteLine("Primary Qualifier -");
                            Console.WriteLine("Primary Qualifier type:" + rtrvGtDrResp.instrumentDatas[i].
                                              macro.primaryQualifier.primaryQualifierType);
                            Console.WriteLine("Primary Qualifier value:" + rtrvGtDrResp.instrumentDatas[i].
                                              macro.primaryQualifier.primaryQualifierValue);
                            Console.WriteLine("Secondary Qualifier -");
                            for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].macro.secondaryQualifier.Length; l++)
                            {
                                Console.WriteLine("Secondary Qualifier type :" + rtrvGtDrResp.instrumentDatas[i].
                                                  macro.secondaryQualifier[l].secondaryQualifierType);
                                Console.WriteLine("Secondary Qualifier Value :" + rtrvGtDrResp.instrumentDatas[i].
                                                  macro.secondaryQualifier[l].secondaryQualifierValue);
                                Console.WriteLine("Secondary Qualifier Operator :" + rtrvGtDrResp.instrumentDatas[i].
                                                  macro.secondaryQualifier[l].secondaryQualifierOperator);
                            }
                        }
                    }
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in the submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "  " + e.StackTrace);
            }
        }
Example #9
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            // Setting request header information
            GetDataHeaders getDataHeaders = new GetDataHeaders();

            getDataHeaders.secmaster              = true;
            getDataHeaders.secmasterSpecified     = true;
            getDataHeaders.closingvalues          = true;
            getDataHeaders.closingvaluesSpecified = true;
            getDataHeaders.derived          = true;
            getDataHeaders.derivedSpecified = true;

            // Setting Instrument information
            Instrument bbUniqueId1 = new Instrument();

            bbUniqueId1.id            = "EQ0010174300001000";
            bbUniqueId1.type          = InstrumentType.BB_UNIQUE;
            bbUniqueId1.typeSpecified = true;

            Instrument ticker = new Instrument();

            ticker.id                 = "IBM";
            ticker.yellowkey          = MarketSector.Equity;
            ticker.yellowkeySpecified = true;
            ticker.type               = InstrumentType.TICKER;
            ticker.typeSpecified      = true;

            Instrument bbUniqueId2 = new Instrument();

            bbUniqueId2.id            = "US0231351067";
            bbUniqueId2.type          = InstrumentType.ISIN;
            bbUniqueId2.typeSpecified = true;

            // group all instrument into a single instance of type Instruments.
            Instruments instrs = new Instruments();

            instrs.instrument = new Instrument[] { bbUniqueId1, ticker, bbUniqueId2 };
            System.Collections.Generic.List <Instrument> instrsList = new System.Collections.Generic.List <Instrument>();

            // Setting the getdata request parameter
            SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest();

            sbmtGtDtReq.headers = getDataHeaders;
            sbmtGtDtReq.fields  = new string[] { "ID_BB_UNIQUE", "PX_LAST" };

            // sbmtGtDtReq.instruments = new Instruments();
            sbmtGtDtReq.instruments = instrs;

            try
            {
                Console.WriteLine("Submit getdata Request");

                submitGetDataRequestRequest  sbmtGtDtReqReq  = new submitGetDataRequestRequest(sbmtGtDtReq);
                submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq);
                SubmitGetDataResponse        sbmtGtDtResp    = sbmtGtDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description);
                System.Console.WriteLine("Submit getdata request -  response ID = " + sbmtGtDtResp.responseId);

                // retrieve getdata request. The response ID sent for the request is the response ID
                // received from SubmitGetDataRequest()
                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtResp.responseId;

                retrieveGetDataResponseRequest  rtrvGtDrRespReq = new retrieveGetDataResponseRequest(rtrvGtDrReq);
                retrieveGetDataResponseResponse rtrvGtDrRespResp;

                RetrieveGetDataResponse rtrvGtDrResp;

                Console.WriteLine("Retrieve getdata request");

                // Keep polling until data becomes available
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq);
                    rtrvGtDrResp     = rtrvGtDrRespResp.retrieveGetDataResponse;
                }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable);

                if (rtrvGtDrResp.statusCode.code == PerSecurity.Success)
                {
                    // Displaying the RetrieveGetDataResponse
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                                          "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                        for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                        {
                            if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                            {
                                // In case this is a bulk field request
                                for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++)
                                {
                                    Console.WriteLine("-------------------------");
                                    for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                         bulkarray[k].data.Length; l++)
                                    {
                                        Console.WriteLine(rtrvGtDrResp.
                                                          instrumentDatas[i].data[j].bulkarray[k].data[l].value);
                                    }
                                }
                            }
                            else
                            {
                                Console.WriteLine("	" + rtrvGtDrResp.fields[j] + " : " + rtrvGtDrResp.
                                                  instrumentDatas[i].data[j].value);
                            }
                        }
                    }
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in the submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "   " + e.StackTrace);
            }
        }
Example #10
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                // Setting headers for the request
                GetDataHeaders getDataHeaders = new GetDataHeaders();
                getDataHeaders.closingvaluesSpecified = true;
                getDataHeaders.closingvalues          = true;
                getDataHeaders.secmasterSpecified     = true;
                getDataHeaders.secmaster        = true;
                getDataHeaders.derivedSpecified = true;
                getDataHeaders.derived          = true;

                // Setting list of instruments for data request
                Instrument ticker = new Instrument();
                ticker           = new Instrument();
                ticker.id        = "IBM US";
                ticker.type      = InstrumentType.TICKER;
                ticker.yellowkey = MarketSector.Equity;

                Instrument[] instr = new Instrument[] { ticker };

                string[] field = new string[] { "ID_BB_UNIQUE", "TICKER",
                                                "PX_LAST", "PX_ASK", "PX_BID", "VWAP_DT" };

                BvalFieldSet fieldset = new BvalFieldSet();
                fieldset.fieldmacro = BvalFieldMacro.BVAL_BOND;

                Instruments instrmnts = new Instruments();
                instrmnts.instrument = instr;

                // Submit getdata request
                SubmitGetDataRequest sbmtGetDtReq = new SubmitGetDataRequest();
                sbmtGetDtReq.headers     = getDataHeaders;
                sbmtGetDtReq.fields      = field;
                sbmtGetDtReq.fieldsets   = new BvalFieldSet[] { fieldset };
                sbmtGetDtReq.instruments = instrmnts;

                Console.WriteLine("Sending submit getdata request");

                submitGetDataRequestRequest  sbmtGetDtReqReq  = new submitGetDataRequestRequest(sbmtGetDtReq);
                submitGetDataRequestResponse sbmtGetDtReqResp = ps.submitGetDataRequest(sbmtGetDtReqReq);
                SubmitGetDataResponse        sbmtGetDtResp    = sbmtGetDtReqResp.submitGetDataResponse;

                Console.WriteLine("Submit getdata request status: " + sbmtGetDtResp.statusCode.description +
                                  " responseId: " + sbmtGetDtResp.responseId);

                // Submit retrieve data
                RetrieveGetDataRequest rtvGetDtReq = new RetrieveGetDataRequest();
                rtvGetDtReq.responseId = sbmtGetDtResp.responseId;

                retrieveGetDataResponseRequest  rtvGetDtRespReq = new retrieveGetDataResponseRequest(rtvGetDtReq);
                retrieveGetDataResponseResponse rtvGetDtRespResp;

                RetrieveGetDataResponse rtvGetDtResp;

                Console.WriteLine("Sending retrieve getdata request");

                // Keep polling for response till the data is available
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);

                    rtvGetDtRespResp = ps.retrieveGetDataResponse(rtvGetDtRespReq);
                    rtvGetDtResp     = rtvGetDtRespResp.retrieveGetDataResponse;
                } while (rtvGetDtResp.statusCode.code == PerSecurity.DataNotAvailable);

                // Display data
                if (rtvGetDtResp.statusCode.code == PerSecurity.Success)
                {
                    Console.WriteLine("Retrieve getdata request successful.  Response ID:" + rtvGetDtResp.responseId);
                    for (int i = 0; i < rtvGetDtResp.instrumentDatas.Length; i++)
                    {
                        Console.WriteLine("Data for :"
                                          + rtvGetDtResp.instrumentDatas[i].instrument.id + " "
                                          + rtvGetDtResp.instrumentDatas[i].instrument.yellowkey);
                        for (int j = 0; j < rtvGetDtResp.instrumentDatas[i].data.Length; j++)
                        {
                            Console.WriteLine("  "
                                              + rtvGetDtResp.fields[j]
                                              + ": "
                                              + rtvGetDtResp.instrumentDatas[i].data[j].value);
                        }
                    }
                }
                else if (rtvGetDtResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #11
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                // Setting headers
                GetDataHeaders getDataHeaders = new GetDataHeaders();
                getDataHeaders.programflagSpecified = true;
                getDataHeaders.programflag          = ProgramFlag.daily;
                getDataHeaders.rundate             = DateTime.Today.ToString("yyyyMMdd");
                getDataHeaders.time                = "2200";
                getDataHeaders.specialchar         = SpecialChar.fraction;
                getDataHeaders.dateformat          = DateFormat.ddmmyyyy;
                getDataHeaders.dateformatSpecified = true;
                getDataHeaders.secmaster           = true;
                getDataHeaders.derived             = true;

                // Setting Instrument information
                Instrument bbUniqueId = new Instrument();
                bbUniqueId.id            = "EQ0086119600001000";
                bbUniqueId.type          = InstrumentType.BB_UNIQUE;
                bbUniqueId.typeSpecified = true;

                Instrument ticker = new Instrument();
                ticker.id                 = "IBM";
                ticker.yellowkey          = MarketSector.Equity;
                ticker.yellowkeySpecified = true;
                ticker.type               = InstrumentType.TICKER;
                ticker.typeSpecified      = true;
                Instruments instrs1 = new Instruments();
                instrs1.instrument = new Instrument[] { ticker };
                Instruments instrs2 = new Instruments();
                instrs2.instrument = new Instrument[] { bbUniqueId };

                SubmitGetDataRequest sbmtGtDtReq1 = new SubmitGetDataRequest();
                sbmtGtDtReq1.headers     = getDataHeaders;
                sbmtGtDtReq1.fields      = new string[] { "PX_LAST" };
                sbmtGtDtReq1.instruments = instrs1;

                SubmitGetDataRequest sbmtGtDtReq2 = new SubmitGetDataRequest();
                sbmtGtDtReq2.headers     = getDataHeaders;
                sbmtGtDtReq2.fields      = new string[] { "PX_LAST" };
                sbmtGtDtReq2.instruments = instrs2;

                submitGetDataRequestRequest sbmtGtDtReqReq1 = new submitGetDataRequestRequest(sbmtGtDtReq1);
                submitGetDataRequestRequest sbmtGtDtReqReq2 = new submitGetDataRequestRequest(sbmtGtDtReq2);

                submitGetDataRequestResponse sbmtGtDtReqResp1 = new submitGetDataRequestResponse();
                submitGetDataRequestResponse sbmtGtDtReqResp2 = new submitGetDataRequestResponse();

                sbmtGtDtReqResp1 = ps.submitGetDataRequest(sbmtGtDtReqReq1);
                sbmtGtDtReqResp2 = ps.submitGetDataRequest(sbmtGtDtReqReq1);
                SubmitGetDataResponse sbmtGtDtResp1 = sbmtGtDtReqResp1.submitGetDataResponse;
                SubmitGetDataResponse sbmtGtDtResp2 = sbmtGtDtReqResp2.submitGetDataResponse;

                Console.WriteLine("Scheduled Req 1 GetData --> " + sbmtGtDtResp1.responseId);
                Console.WriteLine("Scheduled Req 2 GetData --> " + sbmtGtDtResp2.responseId);

                System.Threading.Thread.Sleep(30000);

                string[] responseIds = { sbmtGtDtResp1.responseId, sbmtGtDtResp2.responseId, "dummy_id.out" };

                CancelHeaders cancelHeaders = new CancelHeaders();
                cancelHeaders.programflag = ProgramFlag.monthly;

                SubmitCancelRequest submitCancelReq = new SubmitCancelRequest();
                submitCancelReq.headers    = cancelHeaders;
                submitCancelReq.responseId = responseIds;

                submitCancelRequestRequest  submitCancelReqReq  = new submitCancelRequestRequest(submitCancelReq);
                submitCancelRequestResponse submitCancelReqResp = new submitCancelRequestResponse();

                SubmitCancelResponse submitCancelResp;

                Console.WriteLine("Sending submit cancel request");
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);

                    submitCancelReqResp = ps.submitCancelRequest(submitCancelReqReq);
                    submitCancelResp    = submitCancelReqResp.submitCancelResponse;

                    Console.WriteLine("Submit cancel request status: " + submitCancelResp.statusCode.description +
                                      " responseId: " + submitCancelResp.responseId);
                } while (submitCancelResp.statusCode.code == PerSecurity.DataNotAvailable);

                RetrieveCancelRequest retrieveCancelReq = new RetrieveCancelRequest();
                retrieveCancelReq.responseId = submitCancelResp.responseId;

                retrieveCancelResponseRequest  retrieveCancelRespReq = new retrieveCancelResponseRequest(retrieveCancelReq);
                retrieveCancelResponseResponse retrieveCancelRespResp;

                RetrieveCancelResponse retrieveCancelResp;

                Console.WriteLine("Sending retrieve cancel request");

                // Keep polling for response till the data is available
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);

                    retrieveCancelRespResp = ps.retrieveCancelResponse(retrieveCancelRespReq);
                    retrieveCancelResp     = retrieveCancelRespResp.retrieveCancelResponse;
                } while (retrieveCancelResp.statusCode.code == PerSecurity.DataNotAvailable);

                // Display data
                if (retrieveCancelResp.statusCode.code == PerSecurity.Success)
                {
                    Console.WriteLine("Retrieve cancel request successful.");
                    CancelResponseStatus[] ls = retrieveCancelResp.cancelResponseStatus;
                    for (int i = 0; i < ls.Length; i++)
                    {
                        Console.WriteLine("The cancel status for response id :"
                                          + ls[i].responseId + " is " + ls[i].cancelStatus.ToString());
                    }
                }
                else if (retrieveCancelResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #12
0
		public void run(PerSecurityWS ps)
		{
			try
			{
				//Setting overrides
				Override[] ovride = new Override[4];
				ovride[0] = new Override();
				ovride[0].field = "VWAP_START_DT";
                DateTime start = DateTime.Today;
                ovride[0].value = start.ToString();// "20080227";
				ovride[1] = new Override();
				ovride[1].field = "VWAP_END_DT";
                DateTime end = DateTime.Today.Subtract(TimeSpan.FromDays(5));
                ovride[1].value = end.ToString();//"20080227";
                ovride[2] = new Override();
				ovride[2].field = "VWAP_START_TIME";
				ovride[2].value = "1000";
				ovride[3] = new Override();
				ovride[3].field = "VWAP_END_TIME";
				ovride[3].value = "1100";
			
				//Setting the instruments for request
				Instrument bbUniqueId = new Instrument();
                bbUniqueId.id = "EQ0086119600001000";
				bbUniqueId.yellowkeySpecified = false;
				bbUniqueId.type = InstrumentType.BB_UNIQUE;
				bbUniqueId.typeSpecified = true;
				bbUniqueId.overrides = ovride;

				Instrument ticker = new Instrument();
				ticker.id = "IBM US";
				ticker.yellowkeySpecified = true;
				ticker.yellowkey = MarketSector.Equity;
				ticker.typeSpecified = false;
				ticker.type = InstrumentType.TICKER;
				ticker.overrides = ovride;
				
				
				//Setting request header
				GetDataHeaders getDataHeaders = new GetDataHeaders();
				getDataHeaders.secmaster = true;
				getDataHeaders.secmasterSpecified = true;
                getDataHeaders.closingvalues = true;
				getDataHeaders.closingvaluesSpecified = true;
			    getDataHeaders.programflag = ProgramFlag.daily;
				getDataHeaders.rundate = DateTime.Today.ToString();
				getDataHeaders.time = "1430";
           		getDataHeaders.derived = true;

				//Submit get data request
				Console.WriteLine("Submit get data request");
				SubmitGetDataRequest sbmtGtDrReq = new SubmitGetDataRequest();
				sbmtGtDrReq.headers = getDataHeaders;
				sbmtGtDrReq.fields = new string[]{"ID_BB_UNIQUE","TICKER","PX_LAST","PX_ASK","PX_BID","VWAP_DT"};
                Instruments instrs = new Instruments();
                instrs.instrument = new Instrument[] {ticker, bbUniqueId};
                sbmtGtDrReq.instruments = instrs;
				SubmitGetDataResponse sbmtGetDtResp= ps.submitGetDataRequest(sbmtGtDrReq);
				System.Console.WriteLine("Submit get data response Id = "  + sbmtGetDtResp.responseId + "\n");
			
				System.Threading.Thread.Sleep(100000);
				//Submit scheduled request for the get data request sent above
				Console.WriteLine("Submit scheduled request");
				SubmitScheduledRequest sbmtSchReq =  new SubmitScheduledRequest();
				SubmitScheduledResponse sbmtSchResp = ps.submitScheduledRequest(sbmtSchReq);
				Console.WriteLine("Submit Schedule request responseID : " + sbmtSchResp.responseId + "\n");
		    
				//Submit retrieve scheduled request to display all the scheduled files and check to see
				//if the daily job requested was addeds
				Console.WriteLine("Retrieve scheduled request");
				RetrieveScheduledRequest schReq = new RetrieveScheduledRequest();
				schReq.responseId = sbmtSchResp.responseId;
				RetrieveScheduledResponse schResp = new RetrieveScheduledResponse();
				
				//Keep sending the request until the entire response is received
				do
			   {
					System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
					schResp = ps.retrieveScheduledResponse(schReq);
				}
				while(schResp.statusCode.code==PerSecurity.DATA_NOT_AVAILABLE);
				Console.WriteLine(schResp.responseId);
             
				for(int i=0;i<schResp.fileDatas.Length;i++)
				{
                    if (schResp.fileDatas[i].responseId == sbmtGetDtResp.responseId)
                        Console.WriteLine("Response ID requested by submit get data request: " + 
                            schResp.fileDatas[i].responseId);
                    else
                        Console.WriteLine("Response ID: " + schResp.fileDatas[i].responseId + "\n");
					Console.WriteLine("Response Header for retrieve schedule request");
					Console.WriteLine("Date: " +  schResp.fileDatas[i].headers.getdataHeaders.rundate + 
                        " Time: " + schResp.fileDatas[i].headers.getdataHeaders.time + " Scheduled: " + 
                        schResp.fileDatas[i].headers.getdataHeaders.programflag);
					Console.WriteLine("Fields");
					for(int j=0;j<schResp.fileDatas[i].fields.Length;j++)
					{
						Console.WriteLine(schResp.fileDatas[i].fields[j]);
					}
					Console.WriteLine("Instruments");
					for(int j=0;j<schResp.fileDatas[i].instruments.instrument.Length;j++)
					{
                        Console.WriteLine("ID: " + schResp.fileDatas[i].instruments.instrument[j].id + 
                            "Type: " + schResp.fileDatas[i].instruments.instrument[j].type);
					}
						
				}
				
				//Sending a request to cancel the request for the daily job
				Console.WriteLine("Submit Cancel request");
				CancelHeaders cancelHeaders = new CancelHeaders();
				cancelHeaders.programflag  = ProgramFlag.daily;
				SubmitCancelRequest sbCancelReq = new SubmitCancelRequest();
				sbCancelReq.responseId[0] = sbmtGetDtResp.responseId;
				sbCancelReq.headers = cancelHeaders;
				Boolean flag = true;
				SubmitCancelResponse sbCancelResp = ps.submitCancelRequest(sbCancelReq);
				if(sbCancelResp.statusCode.code==0)
				{
					Console.WriteLine("Submit Cancel request response ID: " + sbCancelResp.responseId);
				}
				
				//Checked the scheduled request to check if the daily job has been removed
				Console.WriteLine("Submit scheduled request");
				SubmitScheduledRequest sbmtSchReqCheck = new SubmitScheduledRequest();
				SubmitScheduledResponse sbmtSchRespCheck = ps.submitScheduledRequest(sbmtSchReqCheck);
				Console.WriteLine("Submit Schedule request responseID : " + sbmtSchRespCheck.responseId + "\n");
				
				Console.WriteLine("Retrieve scheduled request");
				RetrieveScheduledRequest schReqCheck = new RetrieveScheduledRequest();
				schReqCheck.responseId = sbmtSchRespCheck.responseId;
				RetrieveScheduledResponse schRespCheck = new RetrieveScheduledResponse();
				do
				{
					System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
					schRespCheck = ps.retrieveScheduledResponse(schReqCheck);
				}
				while(schRespCheck.fileDatas==null);
				Console.WriteLine("response ID for retrieveSchedule respone: " + schResp.responseId);
				String dispRespId = null;
				for(int i=0;i<schRespCheck.fileDatas.Length;i++)
				{
					
					if(schRespCheck.fileDatas[i].responseId==sbmtGetDtResp.responseId)
					  
					{
						flag= true;
						dispRespId	= schRespCheck.fileDatas[i].responseId;
					}
					else
						flag=false;
						
				}
				if(flag)
					Console.WriteLine("The daily job with response ID: " + dispRespId + 
                        "wasnt cancelled successfully");
				else
					Console.WriteLine("The daily job was cancelled successfully");
			}
			catch(Exception e)
			{
				Console.WriteLine(e.Message + e.StackTrace);
			}

			
		}
Example #13
0
        public void run(PerSecurity_Dotnet.PerSecurityWSDL.PerSecurityWS ps)
        {
            // Set request header
            GetDataHeaders getDataHeaders = new GetDataHeaders();

            getDataHeaders.secmaster          = true;
            getDataHeaders.secmasterSpecified = true;

            // Defining the instruments
            Instrument ticker = new Instrument();

            ticker.id = "IBM US";
            ticker.yellowkeySpecified = true;
            ticker.yellowkey          = MarketSector.Equity;
            ticker.typeSpecified      = false;
            ticker.type = InstrumentType.TICKER;

            Console.WriteLine("Submit getdata request");
            SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest();

            sbmtGtDtreq.headers = getDataHeaders;

            sbmtGtDtreq.fields = new string[] { "OPT_CHAIN" };
            Instruments instrs = new Instruments();

            instrs.instrument       = new Instrument[] { ticker };
            sbmtGtDtreq.instruments = instrs;

            submitGetDataRequestRequest  sbmtGtDtreqReq = new submitGetDataRequestRequest(sbmtGtDtreq);
            submitGetDataRequestResponse sbmtGtDtReqResp;

            try
            {
                sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtreqReq);
                SubmitGetDataResponse sbmtGtDtResp = sbmtGtDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("Request ID = " + sbmtGtDtResp.requestId + " " + sbmtGtDtResp.responseId);
                System.Console.WriteLine("status of getdata request :  " + sbmtGtDtResp.statusCode.description);

                Console.WriteLine("Retrieve getdata request");

                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtResp.responseId;

                retrieveGetDataResponseRequest  rtrvGtDrRespReq  = new retrieveGetDataResponseRequest(rtrvGtDrReq);
                retrieveGetDataResponseResponse rtrvGtDrRespResp = new retrieveGetDataResponseResponse();

                RetrieveGetDataResponse rtrvGtDrResp;

                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);

                    rtrvGtDrRespResp = ps.retrieveGetDataResponse(rtrvGtDrRespReq);
                    rtrvGtDrResp     = rtrvGtDrRespResp.retrieveGetDataResponse;
                }while (rtrvGtDrResp.statusCode.code == PerSecurity.DataNotAvailable);
                if (rtrvGtDrResp.statusCode.code == PerSecurity.Success)
                {
                    Console.WriteLine("Response ID " + rtrvGtDrResp.responseId);
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        System.Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                                                 "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                        for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                        {
                            if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray)
                            {
                                for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++)
                                {
                                    Console.WriteLine("-------------------------");
                                    for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                         bulkarray[k].data.Length; l++)
                                    {
                                        Console.WriteLine(rtrvGtDrResp.instrumentDatas[i].
                                                          data[j].bulkarray[k].data[l].value);
                                    }
                                }
                            }
                            else
                            {
                                System.Console.WriteLine("	"+ sbmtGtDtreq.fields[j] + " : " +
                                                         rtrvGtDrResp.instrumentDatas[i].data[j].value);
                            }
                        }
                    }
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in the submitted request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #14
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            try{
            // Setting headers for the request
            GetDataHeaders getDataHeaders = new GetDataHeaders();
            getDataHeaders.closingvaluesSpecified = true;
            getDataHeaders.closingvalues = true;
            getDataHeaders.secmasterSpecified = true;
            getDataHeaders.secmaster = true;
            getDataHeaders.derivedSpecified = true;
            getDataHeaders.derived = true;

            // Setting list of instruments for data request
            Instrument ticker = new Instrument();
            ticker = new Instrument();
            ticker.id = "IBM US";
            ticker.type= InstrumentType.TICKER;
            ticker.yellowkey = MarketSector.Equity;

            Instrument[] instr = new Instrument[] { ticker };

            String[] field = new String[] { "ID_BB_UNIQUE", "TICKER",
					"PX_LAST", "PX_ASK", "PX_BID", "VWAP_DT" };

            BvalFieldSet fieldset = new BvalFieldSet();
            fieldset.fieldmacro = BvalFieldMacro.BVAL_BOND;


            // Submit get data request
			SubmitGetDataRequest sbmtGetDtReq = new SubmitGetDataRequest();
			sbmtGetDtReq.headers = getDataHeaders;
			sbmtGetDtReq.fields = field;
			sbmtGetDtReq.fieldsets = new BvalFieldSet[] { fieldset };
			Instruments instrmnts = new Instruments();
            instrmnts.instrument = instr;
			sbmtGetDtReq.instruments = instrmnts ;
			Console.WriteLine("Sending submit get data request");
			SubmitGetDataResponse sbmtGetDtResp = ps
					.submitGetDataRequest(sbmtGetDtReq);
            Console.WriteLine("Submit get data request status: " + sbmtGetDtResp.statusCode.description +
					 " responseId: " + sbmtGetDtResp.responseId);

            // Submit retrieve data
			RetrieveGetDataRequest rtvGetDtReq = new RetrieveGetDataRequest();
			rtvGetDtReq.responseId = sbmtGetDtResp.responseId;
			RetrieveGetDataResponse rtvGetDtResp = new RetrieveGetDataResponse();
            Console.WriteLine("Sending retrieve get data request");

			// Keep polling for response till the data is available
			do
			{
                System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
				rtvGetDtResp = ps.retrieveGetDataResponse(rtvGetDtReq);
			} while (rtvGetDtResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE);

            // Display data
			if (rtvGetDtResp.statusCode.code == PerSecurity.SUCCESS)
			{
				Console.WriteLine("Retrieve get data request successful.  Response ID:" + rtvGetDtResp.responseId);
				for (int i = 0; i < rtvGetDtResp.instrumentDatas.Length; i++)
				{
					Console.WriteLine("Data for :"
							+ rtvGetDtResp.instrumentDatas[i].instrument.id + " "
                            + rtvGetDtResp.instrumentDatas[i].instrument.yellowkey);
                    for (int j = 0; j < rtvGetDtResp.instrumentDatas[i].data.Length; j++)
					{
						Console.WriteLine("  "
								+ rtvGetDtResp.fields[j]
								+ ": "
                                + rtvGetDtResp.instrumentDatas[i].data[j].value);
					}
				}
			}
			else if (rtvGetDtResp.statusCode.code == PerSecurity.REQUEST_ERROR)
                Console.WriteLine("Error in submitted request");
        }
            catch (Exception e)
		{
            Console.WriteLine(e.Message);
		}
        }
Example #15
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {

            //Setting request header information	
            GetDataHeaders getDataHeaders = new GetDataHeaders();
            getDataHeaders.secmaster = true;
            getDataHeaders.secmasterSpecified = true;
            getDataHeaders.closingvalues = true;
            getDataHeaders.closingvaluesSpecified = true;
            getDataHeaders.derived = true;
            getDataHeaders.derivedSpecified = true;


            //Setting Instrument information
            //Instrument bbUniqueId = new Instrument();
            //bbUniqueId.id = "EQ0086119600001000";
            //bbUniqueId.type = InstrumentType.BB_UNIQUE;
            //bbUniqueId.typeSpecified = true;

            //Instrument ticker = new Instrument();
            //ticker.id = "IBM";
            //ticker.yellowkey = MarketSector.Equity;
            //ticker.yellowkeySpecified = true;
            //ticker.type = InstrumentType.TICKER;
            //ticker.typeSpecified = true;


            Instrument bbUniqueId = new Instrument();
            bbUniqueId.id = "GB0003252318";
            bbUniqueId.type = InstrumentType.ISIN;
            bbUniqueId.typeSpecified = true;

            //Setting the get data request parameter
            SubmitGetDataRequest sbmtGtDtreq = new SubmitGetDataRequest();
            sbmtGtDtreq.headers = getDataHeaders;
         //   sbmtGtDtreq.fields = new string[] { "ID_BB_UNIQUE", "TICKER", "PX_LAST", "PX_ASK", "PX_BID", "VWAP_DT" };
            sbmtGtDtreq.fields = new string[] { "ID_BB_UNIQUE", "PX_LAST"};
          Instruments instrs = new Instruments();
            System.Collections.Generic.List<Instrument> instrsList = new System.Collections.Generic.List<Instrument>();
        //    instrsList.Add(ticker);
            instrsList.Add(bbUniqueId);
            //instrs.instrument = new Instrument[] { ticker, bbUniqueId };
            instrs.instrument = new Instrument[] {bbUniqueId };
            sbmtGtDtreq.instruments = new Instruments();
            sbmtGtDtreq.instruments = instrs;

            try
            {
                Console.WriteLine("Submit Get Data Request");
                SubmitGetDataResponse sbmtGtDtresp = ps.submitGetDataRequest(sbmtGtDtreq);
                System.Console.WriteLine("status " + sbmtGtDtresp.statusCode.description);
                System.Console.WriteLine("Submit Get Data request -  response ID = " + sbmtGtDtresp.responseId);

                //retrieve get data request. The response ID sent for the request is the response ID
                //received from SubmitGetDataRequest()
                Console.WriteLine("Retrieve data request");
                RetrieveGetDataRequest rtrvGtDrReq = new RetrieveGetDataRequest();
                rtrvGtDrReq.responseId = sbmtGtDtresp.responseId;
                RetrieveGetDataResponse rtrvGtDrResp = new RetrieveGetDataResponse();

                //Keep sending the request if status is 100
                do
                {
                    System.Threading.Thread.Sleep(PerSecurity.POLL_INTERVAL);
                    rtrvGtDrResp = ps.retrieveGetDataResponse(rtrvGtDrReq);
                }
                while (rtrvGtDrResp.statusCode.code == PerSecurity.DATA_NOT_AVAILABLE);

                if (rtrvGtDrResp.statusCode.code == PerSecurity.SUCCESS)
                {
                    //Displaying the RetrieveGetDataResponse
                    for (int i = 0; i < rtrvGtDrResp.instrumentDatas.Length; i++)
                    {
                        Console.WriteLine("Data for :" + rtrvGtDrResp.instrumentDatas[i].instrument.id +
                            "  " + rtrvGtDrResp.instrumentDatas[i].instrument.yellowkey);
                        for (int j = 0; j < rtrvGtDrResp.instrumentDatas[i].data.Length; j++)
                        {
                            if (rtrvGtDrResp.instrumentDatas[i].data[j].isArray == true)
                            {
                                //In case this is a bulk field request
                                for (int k = 0; k < rtrvGtDrResp.instrumentDatas[i].data[j].bulkarray.Length; k++)
                                {
                                    Console.WriteLine("-------------------------");
                                    for (int l = 0; l < rtrvGtDrResp.instrumentDatas[i].data[j].
                                        bulkarray[k].data.Length; l++)
                                        Console.WriteLine(rtrvGtDrResp.
                                            instrumentDatas[i].data[j].bulkarray[k].data[l].value);
                                }
                            }
                            else
                                Console.WriteLine("	" + sbmtGtDtreq.fields[j] + " : " + rtrvGtDrResp.
                                    instrumentDatas[i].data[j].value);
                        }
                    }
                }
                else if (rtrvGtDrResp.statusCode.code == PerSecurity.REQUEST_ERROR)
                    Console.WriteLine("Error in the submitted request");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "   " + e.StackTrace);
            }
        }
Example #16
0
        public void run(PerSecurityWSDL.PerSecurityWS ps)
        {
            try
            {
                // Setting request header information
                GetDataHeaders getDataHeaders = new GetDataHeaders();
                getDataHeaders.secmaster          = true;
                getDataHeaders.secmasterSpecified = true;
                getDataHeaders.derived            = true;
                getDataHeaders.derivedSpecified   = true;

                getDataHeaders.bvaltierSpecified = true;
                getDataHeaders.bvaltier          = 1;
                // The bval request will run at a scheduled time but the PortfolioValidation Request will get a response after the req file is copied
                getDataHeaders.bvalsnapshot          = BvalSnapshot.ny3pm;
                getDataHeaders.bvalsnapshotSpecified = true;

                // Setting Instrument information
                Instrument instr = new Instrument();
                instr.id            = "BBG0009P1SC8";
                instr.type          = InstrumentType.BB_GLOBAL;
                instr.typeSpecified = true;

                // group all instrument into a single instance of type Instruments.
                Instruments instrs = new Instruments();
                instrs.instrument = new Instrument[] { instr };

                // Setting the getdata request parameter
                SubmitGetDataRequest sbmtGtDtReq = new SubmitGetDataRequest();
                sbmtGtDtReq.headers = getDataHeaders;
                sbmtGtDtReq.fields  = new string[] { "BVAL_BEEM", "BVAL_SNAPSHOT" };

                // sbmtGtDtReq.instruments = new Instruments();
                sbmtGtDtReq.instruments = instrs;

                Console.WriteLine("Submit BvalGetData Request");

                submitGetDataRequestRequest  sbmtGtDtReqReq  = new submitGetDataRequestRequest(sbmtGtDtReq);
                submitGetDataRequestResponse sbmtGtDtReqResp = ps.submitGetDataRequest(sbmtGtDtReqReq);
                SubmitGetDataResponse        sbmtGtDtResp    = sbmtGtDtReqResp.submitGetDataResponse;

                System.Console.WriteLine("status " + sbmtGtDtResp.statusCode.description);
                System.Console.WriteLine("Submit BvalGetData request -  response ID = " + sbmtGtDtResp.responseId);

                GetPortfolioValidationRequest req = new GetPortfolioValidationRequest();
                req.responseId = sbmtGtDtResp.responseId;

                Console.WriteLine("Sending submit portfolio validation request");

                getPortfolioValidationRequest1  req1 = new getPortfolioValidationRequest1(req);
                getPortfolioValidationResponse1 resp1;

                GetPortfolioValidationResponse resp;

                // Keep polling for response till the data is available
                do
                {
                    Console.WriteLine("Polling for PortfolioValidation request");
                    System.Threading.Thread.Sleep(PerSecurity.PollInterval);
                    resp1 = ps.getPortfolioValidation(req1);
                    resp  = resp1.getPortfolioValidationResponse;
                } while (resp.statusCode.code == PerSecurity.DataNotAvailable);

                // Display data
                if (resp.statusCode.code == PerSecurity.Success)
                {
                    Console.WriteLine("Retrieve get quotes request successful.  Response ID:" + resp.responseId);
                    for (int i = 0; i < resp.instrumentDatas.Length; i++)
                    {
                        Console.WriteLine("Data for :"
                                          + resp.instrumentDatas[i].instrument.id + " "
                                          + resp.instrumentDatas[i].instrument.yellowkey);

                        Console.WriteLine("validation code =  "
                                          + resp.instrumentDatas[i].code.ToString());
                    }
                }
                else if (resp.statusCode.code == PerSecurity.RequestError)
                {
                    Console.WriteLine("Error in submitted PortfolioValidation request");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message + "   " + e.StackTrace);
            }
        }