Ejemplo n.º 1
0
 internal static UserDataContext Load(IStorageModel storage)
 {
     UserDataContext result = null;
     try { result = storage.LoadFromStorageAsync<UserDataContext>(ConnectionString).Result; }
     catch (Exception ex) 
     {
         var settings = SettingsModelFactory.GetSettingsModel();
         settings.AddOrUpdate("currentUser", string.Empty);
         settings.SaveSettings();
         result = new UserDataContext(); 
     }
     
     result.UserFavorites.CollectionChanged += UserFavorites_CollectionChanged;
     return result;
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard XAML initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Language display initialization
            InitializeLanguage();

            // Show graphics profiling information while debugging.
            if (Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Prevent the screen from turning off while under the debugger by disabling
                // the application's idle detection.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            // Intialize main data model.
            Main = new MainDataModel();

            // Initialize database
            UserContext = new UserDataContext(userDBConnectionString);
            UserContext.CreateIfNotExists();

            // Register for Device Network status changes
            DeviceNetworkInformation.NetworkAvailabilityChanged += DeviceNetworkInformation_NetworkAvailabilityChanged;

            // Register for notifications
            NotificationService.Default.Register<AccessTokenMessage>(OnAccessTokenMessage);
            NotificationService.Default.Register<NetworkDetectionMessage>(OnNetworkDetectionMessage);
            NotificationService.Default.Register<ToastMessage>(OnToastMessage);
            NotificationService.Default.Register<DialogMessage>(OnDialogMessage);
            NotificationService.Default.Register<ConfirmDialogMessage>(OnConfirmDialogMessage);
            NotificationService.Default.Register<PinnedForumQuery>(OnPinnedForumQuery);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates a new SignInDataModel instance.
        /// </summary>
        /// <param name="success">callback on sign in success.</param>
        /// <param name="fail">callback on sign in failure.</param>
        public SignInDataModel(
            UserDataContext context,
            SignInSuccessDelegate success, 
            FailureDelegate fail)
        {
            if (success == null || fail == null)
                throw new ArgumentNullException("success | fail");

            this.userContext = context;
            this.onSuccess = success;
            this.onFail = fail;
            this.signInCommand = new RelayCommand(async () => { await SignInAsync(); }, CanSignIn);
        }