Ejemplo n.º 1
0
        private static string resolveWorksheetId(JToken queryData, JObject queryResponse)
        {
            string worksheetId = null;

            if (queryData["id"] == null)
            {
                var worksheetName = queryData.Value <string>("name");
                var allWorksheets = BlpTerminal.GetAllWorksheets();
                foreach (BlpWorksheet sheet in allWorksheets)
                {
                    if (sheet.Name.Equals(worksheetName))
                    {
                        worksheetId = sheet.Id;
                        break;
                    }
                }
                if (worksheetId == null)
                {
                    queryResponse.Add("status", false);
                    queryResponse.Add("message", "Worksheet '" + worksheetName + "' not found");
                }
            }
            else
            {
                worksheetId = queryData.Value <string>("id");
            }
            return(worksheetId);
        }
Ejemplo n.º 2
0
        private static void AppendToWorksheet(JObject queryResponse, JToken queryData)
        {
            if (validateQueryData("AppendToWorksheet", queryData, new string[] { "securities" }, new string[] { "name", "id" }, queryResponse))
            {
                List <string> securities = new List <string>();
                foreach (string a in queryData["securities"])
                {
                    securities.Add(a);
                }

                string worksheetId = resolveWorksheetId(queryData, queryResponse);
                if (worksheetId != null)
                {
                    BlpWorksheet worksheet = BlpTerminal.GetWorksheet(worksheetId);
                    if (worksheet != null)
                    {
                        worksheet.AppendSecurities(securities);
                        queryResponse.Add("status", true);
                        queryResponse.Add("worksheet", renderWorksheet(worksheet, true));
                    }
                    else
                    {
                        queryResponse.Add("status", false);
                        queryResponse.Add("message", "Worksheet with id '" + worksheetId + "' not found");
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private static void RunFunction(JObject queryResponse, JToken queryData)
        {
            if (validateQueryData("RunFunction", queryData, new string[] { "mnemonic", "panel" }, null, queryResponse))
            {
                string        BBG_mnemonic   = queryData.Value <string>("mnemonic");
                string        panel          = queryData.Value <string>("panel");
                string        tails          = null;
                List <string> securitiesList = new List <string>();
                if (queryData["tails"] != null)
                {
                    tails = queryData.Value <string>("tails");
                }

                if (queryData["securities"] != null)
                {
                    foreach (string a in queryData["securities"])
                    {
                        securitiesList.Add(a);
                    }
                }
                if (securitiesList.Count > 0)
                {
                    BlpTerminal.RunFunction(BBG_mnemonic, panel, securitiesList, tails);
                    queryResponse.Add("status", true);
                }
                else
                {
                    BlpTerminal.RunFunction(BBG_mnemonic, panel, tails);
                    queryResponse.Add("status", true);
                }
            }
        }
Ejemplo n.º 4
0
 private static void GetGroupContext(JObject queryResponse, JToken queryData)
 {
     if (validateQueryData("GetGroupContext", queryData, new string[] { "name" }, null, queryResponse))
     {
         BlpGroup group = BlpTerminal.GetGroupContext(queryData["name"].ToString());
         queryResponse.Add("status", true);
         queryResponse.Add("group", renderGroup(group));
     }
 }
Ejemplo n.º 5
0
        private static void GetAllGroups(JObject queryResponse)
        {
            var    allGroups = BlpTerminal.GetAllGroups();
            JArray groups    = new JArray();

            foreach (BlpGroup group in allGroups)
            {
                groups.Add(renderGroup(group));
            }
            queryResponse.Add("status", true);
            queryResponse.Add("groups", groups);
        }
Ejemplo n.º 6
0
        private static void GetAllWorksheets(JObject queryResponse)
        {
            var    allWorksheets = BlpTerminal.GetAllWorksheets();
            JArray worksheets    = new JArray();

            foreach (BlpWorksheet sheet in allWorksheets)
            {
                worksheets.Add(renderWorksheet(sheet, false));
            }
            queryResponse.Add("status", true);
            queryResponse.Add("worksheets", worksheets);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Function that attempts to connect to the bloomberg terminal and then monitor the connection
        /// until told to shutdown. Cycles once per second.
        /// </summary>
        private static void connectionMonitorThread()
        {
            while (!shutdown)
            {
                bool _isRegistered = false;
                bool _isLoggedIn   = false;

                try
                {
                    _isRegistered = BlpApi.IsRegistered;
                }
                catch (Exception err)
                {
                    FSBL.Logger.Error("Bloomberg API registration check failed");
                }
                if (!_isRegistered)
                {
                    try
                    {
                        //try to register
                        BlpApi.Register();
                        BlpApi.Disconnected += new System.EventHandler(BlpApi_Disconnected);
                        _isRegistered        = BlpApi.IsRegistered;
                    }
                    catch (Exception err)
                    {
                        _isRegistered = false;
                        FSBL.Logger.Warn("Bloomberg API registration failed");
                    }
                }
                if (_isRegistered)
                {
                    try
                    {
                        _isLoggedIn = BlpTerminal.IsLoggedIn();
                    }
                    catch (Exception err)
                    {
                        _isLoggedIn = false;
                        FSBL.Logger.Warn("Bloomberg API isLoggedIn call failed");
                    }
                }
                else
                {
                    //can't be logged in if not connected to the BlpApi
                    _isLoggedIn = false;
                }

                _isLoggedIn = checkForConnectionStatusChange(_isRegistered, _isLoggedIn);
                Thread.Sleep(1000);
            }
        }
Ejemplo n.º 8
0
 private static void CreateWorksheet(JObject queryResponse, JToken queryData)
 {
     if (validateQueryData("CreateWorksheet", queryData, new string[] { "securities", "name" }, null, queryResponse))
     {
         var _securities = new List <string>();
         foreach (string a in queryData["securities"])
         {
             _securities.Add(a);
         }
         BlpWorksheet worksheet = BlpTerminal.CreateWorksheet(queryData["name"].ToString(), _securities);
         queryResponse.Add("status", true);
         queryResponse.Add("worksheet", renderWorksheet(worksheet, true));
     }
 }
Ejemplo n.º 9
0
        private static void DoSetGroupContext(JObject queryResponse, JToken queryData)
        {
            //save time of last set to allow debouncing� �
            lastQueryTime = DateTimeOffset.UtcNow;

            if (queryData["cookie"] != null && queryData["cookie"].ToString() != "")
            {
                BlpTerminal.SetGroupContext(queryData["name"].ToString(), queryData["value"].ToString(), queryData["cookie"].ToString());
            }
            else
            {
                BlpTerminal.SetGroupContext(queryData["name"].ToString(), queryData["value"].ToString());
            }
            queryResponse.Add("status", true);
        }
Ejemplo n.º 10
0
 private static void GetWorksheet(JObject queryResponse, JToken queryData)
 {
     if (validateQueryData("GetWorksheet", queryData, null, new string[] { "name", "id" }, queryResponse))
     {
         string worksheetId = resolveWorksheetId(queryData, queryResponse);
         if (worksheetId != null)
         {
             BlpWorksheet worksheet = BlpTerminal.GetWorksheet(worksheetId);
             if (worksheet != null)
             {
                 queryResponse.Add("status", true);
                 queryResponse.Add("worksheet", renderWorksheet(worksheet, true));
             }
             else
             {
                 queryResponse.Add("status", false);
                 queryResponse.Add("message", "Worksheet with id '" + worksheetId + "' not found");
             }
         }
     }
 }