/// <summary>
/// Starts intialization of view model.
/// </summary>
private void InitializeViewModeExecute()
{
if (!this.wasInitialization)
{
this.wasInitialization = true;
using (var settingsRepository = new SettingsRepository())
{
if (!IsolatedStorageSettings.ApplicationSettings.Contains(_firstLaunchKey))
{
IsolatedStorageSettings.ApplicationSettings[_firstLaunchKey] = wasInitialization;
var result = MessageBox.Show("Would you like this application to use your phone's GPS function?", "GPS", MessageBoxButton.OKCancel);
var currentSettings = settingsRepository.GetCurrentSettings();
currentSettings.IsGpsEnabled = result == MessageBoxResult.OK;
settingsRepository.UpdateCurrentSettings(currentSettings);
}
bool userAcceptedEula = false;
var store = IsolatedStorageSettings.ApplicationSettings;
if (store.Contains(EULA_KEY))
userAcceptedEula = (bool)store[EULA_KEY];
if (!userAcceptedEula)
{
NotificationTool.Show(
"Privacy Policy",
"NDG",
new NotificationAction("Accept", () => { AcceptedPrivacy(); }),
new NotificationAction("Decline", () => { DeclinedPrivacy(); }));
}
GpsTracker.Instance.GpsAllowed = settingsRepository.GetCurrentSettings().IsGpsEnabled;
GpsTracker.Instance.StartTracking();
}
}
if (Membership.CurrentUser == null)
{
this.Login = string.Empty;
this.Password = string.Empty;
using (var settingsRepository = new SettingsRepository())
this.ServerPath = settingsRepository.GetCurrentSettings().Server.Address;
}
var pageParameters = NavigationProvider.GetNavigationParameters();
if (pageParameters.ContainsKey(SEVER_PATH_PARAMETER))
{
this.ServerPath = pageParameters[SEVER_PATH_PARAMETER];
}
}