internal LoginView() { _presenter = new LoginPresenter(this); _navigator = new LoginNavigator(); InitializeComponent(); MessagingCenter.Subscribe <string>(this, "OAuthUrl", (args) => { _presenter.HandleOAuth(args); }); }
/// <summary> /// /// </summary> /// <returns></returns> public TaskResult Scrape(TransactionParameter transactionParameter, List <Import> batch, IWebDriver webDriver) { try { var loginNavigator = new LoginNavigator(webDriver); loginNavigator.Navigate(); var loginSimulator = new LoginSimulator(webDriver, transactionParameter); loginSimulator.Simulate(); Logger.Info("initiating broker navigator"); var brokerTabNavigator = new BrokerTabNavigator(webDriver); Logger.Info("broker navigation in progress"); brokerTabNavigator.Navigate(); Logger.Info("initiating table scraper"); var brokerTableScraper = new BrokerTableScraper(batch.ToList(), new BrokerTransactionBuilder(), new BrokerTransactionProcessor(_brokerTransactionRepository), new BrokerTransactionSimulator(webDriver), brokerTabNavigator, _importProcessor, webDriver); brokerTableScraper.Scrape(transactionParameter); } catch (Exception e) { Logger.Error(e); if (e.Message.Contains("Back-office is currently updating")) { throw new BackOfficeOfflineException("back office exception detected", e); } } var taskResult = new TaskResult { IsSuccessful = true }; taskResult.SetData(webDriver); return(taskResult); }