Example #1
0
        public static Object ApiFacts(
            [ExcelArgument("The base Path of the Cell Store endpoint (default: 'http://secxbrl.28.io/v1/_queries/public')", Name = "basePath")]
            Object basePath = null,
            [ExcelArgument("The token of the current session", Name = "token")]
            Object token = null,
            [ExcelArgument("All parameters to pass to the /api/facts endpoint", Name = "parameters", AllowReference = true)]
            Object parametersOrig = null,
            [ExcelArgument("Show debug info in a Message Box.", Name = "debugInfo")]
            Object debugInfo = null
            )
        {
            try
            {
                Parameters    parameters = new Parameters(parametersOrig);
                ListFactsTask task       = new ListFactsTask(basePath, token, parameters, debugInfo);
                String        taskId     = task.id();
                Object        result;
                if (Cache.get(taskId, out result))
                {
                    return(result);
                }

                Utils.log("ListFacts Parameters: " + parameters.ToString());
                Object loading = Cache.getLoading(taskId);
                result = ExcelAsyncUtil.Run("ListFacts", taskId, delegate {
                    try
                    {
                        return(task.run());
                    }
                    catch (Exception e)
                    {
                        return(Utils.defaultErrorHandler(e));
                    }
                });
                if (result.Equals(ExcelError.ExcelErrorNA))
                {
                    return(loading);
                }
                else
                {
                    Cache.set(taskId, result);
                    return(result);
                }
            }
            catch (Exception e)
            {
                return(Utils.defaultErrorHandler(e));
            }
        }
Example #2
0
 public static Object ApiFactsRequest(
     [ExcelArgument("The base Path of the Cell Store endpoint (default: 'http://secxbrl.28.io/v1/_queries/public')", Name = "basePath")]
     Object basePath = null,
     [ExcelArgument("The token of the current session", Name = "token")]
     Object token = null,
     [ExcelArgument("All parameters to pass to the /api/facts endpoint", Name = "parameters", AllowReference = true)]
     Object parametersOrig = null
     )
 {
     try
     {
         Parameters    parameters = new Parameters(parametersOrig);
         ListFactsTask task       = new ListFactsTask(basePath, token, parameters, null);
         return(task.request());
     }
     catch (Exception e)
     {
         return(Utils.defaultErrorHandler(e));
     }
 }