public void BuildEquityAnalysisModel(IRibbonControl control)
        {
            MessageDialog x = new MessageDialog("Building Model...", Constants.AddInName);
            x.DoAction(
                (dialog) =>
                {
                    TaskEx.Delay(0).Then((t) =>
                    {
                        string ticker = (string)ExcelUtil.Worksheet("Main").Range("Symbol").Value;
                        FinanceDataLoader.BuildEquityAnalysis(ticker).Then(
                            result =>
                            {
                                dialog.SetMessage("Done!");
                                dialog.Resume();
                            }
                        ).Finally(
                            e =>
                            {
                                dialog.SetMessage("Error occurred" + e.Message);
                            }
                        );

                    });
                }
            );
        }
        public void RefreshStockScreenerData(IRibbonControl control)
        {
            MessageDialog x = new MessageDialog("Building Model...", Constants.AddInName);
            x.DoAction(
                (dialog) =>
                {
                    TaskEx.Delay(0).Then((t) =>
                    {
                        ScreenerModel model = new ScreenerModel();
                        model.RunScreener().Then(
                            result =>
                            {
                                dialog.SetMessage("Done!");
                                dialog.Resume();
                            }
                        ).Finally(
                            e =>
                            {
                                dialog.SetMessage("Error occurred: " + e.Message);
                                dialog.Resume();
                            }
                        );

                    });
                }
            );
        }