diff --git a/.vs/Navigator/DesignTimeBuild/.dtbcache.v2 b/.vs/Navigator/DesignTimeBuild/.dtbcache.v2
index 355f06f..e85fa97 100644
Binary files a/.vs/Navigator/DesignTimeBuild/.dtbcache.v2 and b/.vs/Navigator/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/.vs/Navigator/v16/.suo b/.vs/Navigator/v16/.suo
index 43bd771..ff00208 100644
Binary files a/.vs/Navigator/v16/.suo and b/.vs/Navigator/v16/.suo differ
diff --git a/MarketDataLib/Service/MarketDataServiceClient.cs b/MarketDataLib/Service/MarketDataServiceClient.cs
index b3dd009..43e9632 100644
--- a/MarketDataLib/Service/MarketDataServiceClient.cs
+++ b/MarketDataLib/Service/MarketDataServiceClient.cs
@@ -37,6 +37,11 @@ namespace MarketData.Service
return marketDataServiceClient;
}
}
+ ///
+ /// SetUrl
+ ///
+ /// The fully qualified url http://100.0.0.0:8000.
+ /// The user.
public void SetUrl(String url,String user)
{
lock(this)
diff --git a/Navigator/App.xaml.cs b/Navigator/App.xaml.cs
index 9feaea9..2105332 100644
--- a/Navigator/App.xaml.cs
+++ b/Navigator/App.xaml.cs
@@ -1,6 +1,5 @@
using System;
using Xamarin.Forms;
-using Xamarin.Forms.Xaml;
using Navigator.Services;
using Navigator.Views;
using MarketData.Service;
@@ -15,31 +14,33 @@ namespace Navigator
{
InitializeComponent();
DependencyService.Register();
- if(!DesignMode.IsDesignModeEnabled)
- {
- if(MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(AppSettingsManager.Settings["Service_Local"]))
- {
- MarketDataServiceClient.GetInstance().SetUrl(AppSettingsManager.Settings["Service_Local"],AppSettingsManager.Settings["ServiceUser"]);
- }
- else
- {
- String ipAddress=IPCache.GetIPAddress();
+ InitializeConnection();
- if(null!=ipAddress)
- {
- ipAddress= AppSettingsManager.Settings["Service_Prefix"]+ipAddress+ AppSettingsManager.Settings["Service_Postfix"];
- if(MarketDataServiceClient.GetInstance().Ping(ipAddress))
- {
- MarketDataServiceClient.GetInstance().SetUrl(ipAddress, AppSettingsManager.Settings["ServiceUser"]);
- }
- }
- else if(MarketDataServiceClient.GetInstance().Ping(AppSettingsManager.Settings["Service_Network"]))
- {
- MarketDataServiceClient.GetInstance().SetUrl(AppSettingsManager.Settings["Service_Network"], AppSettingsManager.Settings["ServiceUser"]);
- }
+ MainPage = new MainPage();
+ }
+
+ private void InitializeConnection()
+ {
+ String ipAddress=IPCache.GetIPAddress();
+ if (null != ipAddress && MarketDataServiceClient.GetInstance().Ping(ToUrl(ipAddress)))
+ {
+ MarketDataServiceClient.GetInstance().SetUrl(ToUrl(ipAddress), AppSettingsManager.Settings["ServiceUser"]);
+ }
+ else if (MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Local"])))
+ {
+ IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Local"]);
+ MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]), AppSettingsManager.Settings["ServiceUser"]);
+ }
+ else if (MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Network"])))
+ {
+ IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Network"]);
+ MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]), AppSettingsManager.Settings["ServiceUser"]);
}
}
- MainPage = new MainPage();
+
+ private String ToUrl(String ipAddress)
+ {
+ return AppSettingsManager.Settings["Service_Prefix"] + ipAddress + AppSettingsManager.Settings["Service_Postfix"];
}
protected override void OnStart()
diff --git a/Navigator/AppSettings.json b/Navigator/AppSettings.json
index 05062ef..df964cc 100644
--- a/Navigator/AppSettings.json
+++ b/Navigator/AppSettings.json
@@ -1,7 +1,9 @@
{
- "Service_Local": "http://10.0.0.73:8000",
- "Service_Network" : "http://73.56.77.171:8000",
- "Service_Postfix" : ":8000",
- "Service_Prefix" : "http://",
- "ServiceUser" : "sean"
+ "Service_Local_Obsolete": "http://10.0.0.240:8000",
+ "Service_Network_Obsolete": "http://diversified-software.com:8000",
+ "Service_Local": "10.0.0.240",
+ "Service_Network": "diversified-software.com",
+ "Service_Postfix": ":8000",
+ "Service_Prefix": "http://",
+ "ServiceUser": "sean"
}
\ No newline at end of file
diff --git a/Navigator/Utility/IPCache.cs b/Navigator/Utility/IPCache.cs
index 54b6043..6116a36 100644
--- a/Navigator/Utility/IPCache.cs
+++ b/Navigator/Utility/IPCache.cs
@@ -20,6 +20,11 @@ namespace Navigator.Utils
private IPCache()
{
}
+
+ ///
+ /// SaveIPAddress
+ ///
+ /// The ipaddress. Example 10.0.0.201 diversfified-software.com
public static void SaveIPAddress(String ipAddress)
{
StreamWriter streamWriter=File.AppendText(pathFileName);
diff --git a/Navigator/Utility/Utility.cs b/Navigator/Utility/Utility.cs
index 78fba69..e50f052 100644
--- a/Navigator/Utility/Utility.cs
+++ b/Navigator/Utility/Utility.cs
@@ -16,6 +16,7 @@ namespace Navigator.Utils
{
private static DateTime epoch = DateTime.Parse("01-01-0001");
private static TimeSpan oneDay=new TimeSpan(1,0,0,0);
+
public static String Pad(string str, char filler, int length)
{
int stringLength = str.Length;
diff --git a/Navigator/ViewModels/AboutViewModel.cs b/Navigator/ViewModels/AboutViewModel.cs
index 05d6c05..c64da4a 100644
--- a/Navigator/ViewModels/AboutViewModel.cs
+++ b/Navigator/ViewModels/AboutViewModel.cs
@@ -1,19 +1,9 @@
using System;
using System.Windows.Input;
-using Xamarin.Essentials;
-using Xamarin.Forms;
-using Navigator.Integration;
-using System.Net.Http;
-using System.Collections.Generic;
-using MarketData.MarketDataModel;
using MarketData.Service;
-using Newtonsoft.Json;
-using System.Text;
-using System.Net.Http.Headers;
using Navigator.Core;
using System.ComponentModel;
using Navigator.Utils;
-using System.IO;
namespace Navigator.ViewModels
{
@@ -63,10 +53,11 @@ namespace Navigator.ViewModels
return onResetCommand;
}
}
+
public void HandleIPAddress()
{
if(String.IsNullOrEmpty(ipAddress))return;
- String url=AppSettingsManager.Settings["Service_Prefix"]+ipAddress+AppSettingsManager.Settings["Service_Postfix"];
+ String url=ToUrl(ipAddress);
Status="ping "+url+" ...";
if(MarketDataServiceClient.GetInstance().Ping(url))
{
@@ -77,43 +68,54 @@ namespace Navigator.ViewModels
else Status="ping failed";
Message=MarketDataServiceClient.GetInstance().GetBaseUri();
}
+
public void HandleReset()
{
Status="";
- Status="ping "+AppSettingsManager.Settings["Service_Local"]+" ...";
+ Status="ping "+ToUrl(AppSettingsManager.Settings["Service_Local"])+" ...";
IPAddress="";
- if(MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(AppSettingsManager.Settings["Service_Local"]))
+ if(MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Local"])))
{
- MarketDataServiceClient.GetInstance().SetUrl(AppSettingsManager.Settings["Service_Local"],AppSettingsManager.Settings["ServiceUser"]);
- Message=AppSettingsManager.Settings["Service_Local"];
- Status="ping succeeded";
+ MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]),AppSettingsManager.Settings["ServiceUser"]);
+ Message=ToUrl(AppSettingsManager.Settings["Service_Local"]);
+ IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Local"]);
+ Status="ping succeeded, connection reset to "+ToUrl(AppSettingsManager.Settings["Service_Local"]);
return;
}
- else status="ping failed.";
- Status="ping "+AppSettingsManager.Settings["Service_Network"]+" ...";
- if(MarketDataServiceClient.GetInstance().Ping(AppSettingsManager.Settings["Service_Network"]))
+ Status="ping "+ToUrl(AppSettingsManager.Settings["Service_Network"])+" ...";
+ if(MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Network"])))
{
- MarketDataServiceClient.GetInstance().SetUrl(AppSettingsManager.Settings["Service_Network"],AppSettingsManager.Settings["ServiceUser"]);
- Message=AppSettingsManager.Settings["Service_Network"];
- Status="ping succeeded";
+ MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]),AppSettingsManager.Settings["ServiceUser"]);
+ Message=ToUrl(AppSettingsManager.Settings["Service_Network"]);
+ IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Network"]);
+ Status="ping succeeded, connection reset to "+ToUrl(AppSettingsManager.Settings["Service_Network"]);
}
else Status="ping failed";
}
+
public String Message
{
get { return message; }
set { SetProperty(ref message, value); }
}
+
public String Status
{
get{return status;}
set{SetProperty(ref status,value);}
}
+
public String IPAddress
{
get{return ipAddress;}
set{SetProperty(ref ipAddress,value);}
}
+
+ private String ToUrl(String ipAddress)
+ {
+ return AppSettingsManager.Settings["Service_Prefix"] + ipAddress + AppSettingsManager.Settings["Service_Postfix"];
+ }
+
}
}
\ No newline at end of file
diff --git a/Navigator/Views/AboutPage.xaml b/Navigator/Views/AboutPage.xaml
index 997217f..de5516e 100644
--- a/Navigator/Views/AboutPage.xaml
+++ b/Navigator/Views/AboutPage.xaml
@@ -66,7 +66,7 @@
-
+