public void UpdateUi(BandwidthResults bandwidthResults, bool fromNetwork) { foreach (var control in new Dictionary<BandwidthMeter, String> { { PolicyDown, bandwidthResults.PolicyReceived }, { PolicyUp, bandwidthResults.PolicySent }, { ActualDown, bandwidthResults.ActualReceived }, { ActualUp, bandwidthResults.ActualSent } }) { control.Key.UpdateBorder(GetBandwidthNumberFromString(control.Value), PolicyDown.ActualHeight); control.Key.UsageTextBlock.Text = control.Value; } var tileData = new FlipTileData() { BackContent = GetBandwidthStringForTile(bandwidthResults), Title = "Bandwidth Monitor" }; var primaryTile = ShellTile.ActiveTiles.First(); primaryTile.Update(tileData); if (fromNetwork) SystemTray.ProgressIndicator.IsVisible = false; }
private static void ParseBandwidthDocument(object sender, HtmlDocumentLoadCompleted e) { if (e.Error is WebException) { _page.ReportCredentialsError(); return; } if (e.Error != null) { return; } var doc = e.Document; var summaryTable = from desc in doc.DocumentNode.Descendants() where desc.Name == "td" && desc.InnerText == "Bandwidth Class" select desc.ParentNode.ParentNode; var resultsList = summaryTable.ElementAt(0).Elements("tr").ElementAt(1).Elements("td"); var htmlNodes = resultsList as HtmlNode[] ?? resultsList.ToArray(); var results = new BandwidthResults() { BandwidthClass = htmlNodes.ElementAt(0).InnerText, PolicyReceived = htmlNodes.ElementAt(1).InnerText, PolicySent = htmlNodes.ElementAt(2).InnerText, ActualReceived = htmlNodes.ElementAt(3).InnerText, ActualSent = htmlNodes.ElementAt(4).InnerText }; Deployment.Current.Dispatcher.BeginInvoke(() => _page.UpdateUi(results, true)); results.SaveToIsolatedStorage(); }
/// <summary> /// The parse bandwidth document. /// </summary> /// <param name="doc"> /// The doc. /// </param> /// <returns> /// The <see cref="BandwidthResults"/>. /// </returns> private static BandwidthResults ParseBandwidthDocument(HtmlDocument doc) { // if (e.Error is WebException) // { // page.ReportCredentialsError(); // return; // } // if (e.Error != null) return; // var doc = e.Document; IEnumerable <HtmlNode> summaryTable = from desc in doc.DocumentNode.Descendants() where desc.Name == "td" && desc.InnerText == "Bandwidth Class" select desc.ParentNode.ParentNode; IEnumerable <HtmlNode> resultsList = summaryTable.ElementAt(0).Elements("tr").ElementAt(1).Elements("td"); HtmlNode[] htmlNodes = resultsList as HtmlNode[] ?? resultsList.ToArray(); var results = new BandwidthResults { BandwidthClass = htmlNodes.ElementAt(0).InnerText, PolicyReceived = htmlNodes.ElementAt(1).InnerText, PolicySent = htmlNodes.ElementAt(2).InnerText, ActualReceived = htmlNodes.ElementAt(3).InnerText, ActualSent = htmlNodes.ElementAt(4).InnerText }; results.SaveToIsolatedStorage(); return(results); }
public void UpdateUi(BandwidthResults bandwidthResults, bool fromNetwork) { HideDemoModeIndicator(); foreach (var control in new Dictionary <BandwidthMeter, String> { { PolicyDown, bandwidthResults.PolicyReceived }, { PolicyUp, bandwidthResults.PolicySent }, { ActualDown, bandwidthResults.ActualReceived }, { ActualUp, bandwidthResults.ActualSent } }) { control.Key.UpdateBorder(GetBandwidthNumberFromString(control.Value), PolicyDown.ActualHeight); control.Key.UsageTextBlock.Text = control.Value; } var tileData = new FlipTileData() { BackContent = GetBandwidthStringForTile(bandwidthResults), Title = "Bandwidth Monitor" }; var primaryTile = ShellTile.ActiveTiles.First(); primaryTile.Update(tileData); if (fromNetwork) { SystemTray.ProgressIndicator.IsVisible = false; } if ((string)IsolatedStorageSettings.ApplicationSettings["user"] == "testuser") { ShowDemoModeIndicator(); } }
private void MainPageLoaded(object sender, RoutedEventArgs e) { var settings = IsolatedStorageSettings.ApplicationSettings; PolicyDown.LowThresholdMb = (int)settings["LowThreshold"]; PolicyDown.MidThresholdMb = (int)settings["MidThreshold"]; PolicyUp.LowThresholdMb = (int)settings["LowThreshold"]; PolicyUp.MidThresholdMb = (int)settings["MidThreshold"]; var lowThresholdMultipliedByDiscount = (int)settings["LowThreshold"] * Math.Pow(1 - ((int)settings["PctDiscount"]) / 100.0, -1); var midThresholdMultipliedByDiscount = (int)settings["MidThreshold"] * Math.Pow(1 - ((int)settings["PctDiscount"]) / 100.0, -1); ActualDown.LowThresholdMb = (int)lowThresholdMultipliedByDiscount; ActualDown.MidThresholdMb = (int)midThresholdMultipliedByDiscount; ActualUp.LowThresholdMb = (int)lowThresholdMultipliedByDiscount; ActualUp.MidThresholdMb = (int)midThresholdMultipliedByDiscount; if (settings.Contains("BandwidthClass")) { UpdateUi(BandwidthResults.RetrieveFromIsolatedStorage(), false); } var indicator = new ProgressIndicator { IsVisible = true, Text = "Updating usage...", IsIndeterminate = true }; SystemTray.ProgressIndicator = indicator; Task.Run(() => Scraper.Scrape(this)); }
private static String GetBandwidthStringForTile(BandwidthResults results) { var received = Convert.ToInt32(GetBandwidthNumberFromString(results.PolicyReceived)) + " MB"; var sent = Convert.ToInt32(GetBandwidthNumberFromString(results.PolicySent)) + " MB"; return(results.BandwidthClass + "\r\nD: " + received + "\r\nU: " + sent); }
public static BandwidthResults RetrieveFromIsolatedStorage() { var settings = IsolatedStorageSettings.ApplicationSettings; var toReturn = new BandwidthResults { BandwidthClass = (String)settings["BandwidthClass"], PolicyReceived = (String)settings["PolicyRecieved"], PolicySent = (String)settings["PolicySent"], ActualReceived = (String)settings["ActualReceived"], ActualSent = (String)settings["ActualSent"] }; return toReturn; }
/// <summary> /// The retrieve from isolated storage. /// </summary> /// <returns> /// The <see cref="BandwidthResults" />. /// </returns> public static BandwidthResults RetrieveFromIsolatedStorage() { IPropertySet settings = ApplicationData.Current.LocalSettings.Values; var toReturn = new BandwidthResults { BandwidthClass = (string)settings["BandwidthClass"], PolicyReceived = (string)settings["PolicyRecieved"], PolicySent = (string)settings["PolicySent"], ActualReceived = (string)settings["ActualReceived"], ActualSent = (string)settings["ActualSent"] }; return toReturn; }
public static BandwidthResults RetrieveFromIsolatedStorage() { var settings = IsolatedStorageSettings.ApplicationSettings; var toReturn = new BandwidthResults { BandwidthClass = (String)settings["BandwidthClass"], PolicyReceived = (String)settings["PolicyRecieved"], PolicySent = (String)settings["PolicySent"], ActualReceived = (String)settings["ActualReceived"], ActualSent = (String)settings["ActualSent"] }; return(toReturn); }
/// <summary> /// The retrieve from isolated storage. /// </summary> /// <returns> /// The <see cref="BandwidthResults" />. /// </returns> public static BandwidthResults RetrieveFromIsolatedStorage() { IPropertySet settings = ApplicationData.Current.RoamingSettings.Values; var toReturn = new BandwidthResults { BandwidthClass = (string)settings["BandwidthClass"], PolicyReceived = (string)settings["PolicyRecieved"], PolicySent = (string)settings["PolicySent"], ActualReceived = (string)settings["ActualReceived"], ActualSent = (string)settings["ActualSent"] }; return(toReturn); }
/// <summary> /// Updates each <see cref="BandwidthMeter" /> with the appropriate result text. /// </summary> /// <param name="bandwidthResults"> /// The bandwidth results. /// </param> /// <param name="fromNetwork"> /// Whether the update is from storage or the network scraper. /// </param> public void UpdateUi(BandwidthResults bandwidthResults, bool fromNetwork) { foreach (var control in new Dictionary<BandwidthMeter, string> { { PolicyDown, bandwidthResults.PolicyReceived }, { PolicyUp, bandwidthResults.PolicySent }, { ActualDown, bandwidthResults.ActualReceived }, { ActualUp, bandwidthResults.ActualSent } }) { control.Key.UpdateBorder(GetBandwidthNumberFromString(control.Value), PolicyDown.ActualHeight); control.Key.UpdateText(control.Value); } }
private static void ParseBandwidthDocument(object sender, HtmlDocumentLoadCompleted e) { if (e.Error is WebException) { _page.ReportCredentialsError(); return; } if (e.Error != null) return; var doc = e.Document; var summaryTable = from desc in doc.DocumentNode.Descendants() where desc.Name == "td" && desc.InnerText == "Bandwidth Class" select desc.ParentNode.ParentNode; var resultsList = summaryTable.ElementAt(0).Elements("tr").ElementAt(1).Elements("td"); var htmlNodes = resultsList as HtmlNode[] ?? resultsList.ToArray(); var results = new BandwidthResults() { BandwidthClass = htmlNodes.ElementAt(0).InnerText, PolicyReceived = htmlNodes.ElementAt(1).InnerText, PolicySent = htmlNodes.ElementAt(2).InnerText, ActualReceived = htmlNodes.ElementAt(3).InnerText, ActualSent = htmlNodes.ElementAt(4).InnerText }; Deployment.Current.Dispatcher.BeginInvoke(() => _page.UpdateUi(results, true)); results.SaveToIsolatedStorage(); }
private static String GetBandwidthStringForTile(BandwidthResults results) { var received = Convert.ToInt32(GetBandwidthNumberFromString(results.PolicyReceived)) + " MB"; var sent = Convert.ToInt32(GetBandwidthNumberFromString(results.PolicySent)) + " MB"; return results.BandwidthClass + "\r\nD: " + received + "\r\nU: " + sent; }
/// <summary> /// The parse bandwidth document. /// </summary> /// <param name="doc"> /// The doc. /// </param> /// <returns> /// The <see cref="BandwidthResults"/>. /// </returns> private static BandwidthResults ParseBandwidthDocument(HtmlDocument doc) { // if (e.Error is WebException) // { // page.ReportCredentialsError(); // return; // } // if (e.Error != null) return; // var doc = e.Document; IEnumerable<HtmlNode> summaryTable = from desc in doc.DocumentNode.Descendants() where desc.Name == "td" && desc.InnerText == "Bandwidth Class" select desc.ParentNode.ParentNode; IEnumerable<HtmlNode> resultsList = summaryTable.ElementAt(0).Elements("tr").ElementAt(1).Elements("td"); HtmlNode[] htmlNodes = resultsList as HtmlNode[] ?? resultsList.ToArray(); var results = new BandwidthResults { BandwidthClass = htmlNodes.ElementAt(0).InnerText, PolicyReceived = htmlNodes.ElementAt(1).InnerText, PolicySent = htmlNodes.ElementAt(2).InnerText, ActualReceived = htmlNodes.ElementAt(3).InnerText, ActualSent = htmlNodes.ElementAt(4).InnerText }; results.SaveToIsolatedStorage(); return results; }