private async void BtnLogout_OnClick(object sender, RoutedEventArgs e) { var model = DataContext as AsanaViewModel; if (model.IsBlockingProgress) { return; } if (MessageBox.Show("Are you sure you want to logout? All local data will be removed.", "Warning", MessageBoxButton.OKCancel) != MessageBoxResult.OK) { return; } model.IsBlockingProgress = true; Bootstrapper.Current.Container.Resolve <IProgressIndicatorService>().Show("Processing"); await Bootstrapper.Current.Container.Resolve <DbService>().ClearDb(); DispatcherHelper.OnUi(() => { (DataContext as AsanaViewModel).IsBlockingProgress = false; Bootstrapper.Current.Container.Resolve <IProgressIndicatorService>().Hide(); AsanaStateService.ResetAuthData(); ExNavigationService.ClearNavigationHistory(); ExNavigationService.Navigate <LoginNewPage>(); }); }
private async void BtnLogin_OnClick(object sender, EventArgs e) { var model = DataContext as LoginViewModel; if (string.IsNullOrEmpty(model.ApiKey)) { MessageBox.Show("Set your Asana API key", "Error", MessageBoxButton.OK); return; } btnLogin.IsEnabled = false; AsanaStateService.SetAuthToken(model.ApiKey); model.IsBusy = true; var response = await new AsanaRespository().GetWorkspaces(); btnLogin.IsEnabled = true; if (AsanaClient.ProcessResponse(response, true)) { AsanaStateService.SetAuthToken(model.ApiKey); ExNavigationService.Navigate <MainPage>(); } else { AsanaStateService.SetAuthToken(""); OnError(response); } model.IsBusy = false; }
protected override void Init() { Container.Register <ILogger, DebugLogger>(); Container.Register <IDbService, TestDbService>(); SmallProfiler.Start(); Container.Resolve <IDbService>().Initialize(); AsanaStateService.Initialize(); ViewModelMap.Register <DevRain.Asana.Pages.MainPage, MainViewModel>(); ViewModelMap.Register <WorkspaceDetails, WorkspaceDetailsViewModel>(); ViewModelMap.Register <UserDetails, UserDetailsViewModel>(); ViewModelMap.Register <AddEditProject, AddEditProjectViewModel>(); ViewModelMap.Register <TagDetails, TagDetailsViewModel>(); ViewModelMap.Register <TaskDetails, TaskDetailsViewModel>(); ViewModelMap.Register <AddEditTask, AddEditTaskViewModel>(); ViewModelMap.Register <ProjectDetails, ProjectDetailsViewModel>(); ViewModelCache.Register <WorkspaceDetailsViewModel>(); ViewModelCache.Register <ProjectDetailsViewModel>(); ViewModelCache.Register <UserDetailsViewModel>(); ViewModelCache.Register <TagDetailsViewModel>(); ViewModelCache.Register <TaskDetailsViewModel>(); //Container.Resolve<ILogger>().Debug("Init complete"); }
async void browser_Navigating(object sender, NavigatingEventArgs e) { Model.IsBusy = true; try { if (e.Uri.Host.Contains(_website)) { string[] data = e.Uri.Fragment.Split(new string[] { "&" }, StringSplitOptions.RemoveEmptyEntries); var token = data[0].Replace("#access_token=", ""); token = HttpUtility.UrlDecode(token); AsanaStateService.SetAuthToken(token); var response = await new AsanaRespository().GetUser("me"); if (AsanaClient.ProcessResponse(response)) { if (response.Data.id != SettingsService.LoggedUserId) { await Bootstrapper.Current.Container.Resolve <DbService>().ClearDb(); } SettingsService.LoggedUserId = response.Data.id; SettingsService.CurrentUserId = response.Data.id; ExNavigationService.Navigate <MainPage>(); } } } catch (Exception exc) { Debug.WriteLine(exc.Message); } }
protected override void Init() { Container.Register <ILogger, DebugLogger>(); Container.Register <DbService, DbService>(); Container.RegisterInstance <IAsanaResponseProcessor, AsanaResponseProcessor>(); SmallProfiler.Start(); Container.Resolve <DbService>().Initialize(); InteractionEffectManager.AllowedTypes.Add(typeof(RadDataBoundListBoxItem)); Counter.Start(10669); RadDiagnostics diagnostics = new RadDiagnostics(); diagnostics.EmailTo = AsanaConstants.FeedbackEmail; diagnostics.EmailSubject = AsanaConstants.AppTitle; diagnostics.ApplicationVersion = DeviceHelper.GetAppVersion().ToString(); //diagnostics.MessageBoxInfo.Title = ""; diagnostics.MessageBoxInfo.Content = "Would you to like to send information about error to developers?"; diagnostics.Init(); Telerik.Windows.Controls.ApplicationUsageHelper.Init(DeviceHelper.GetAppVersion().ToString()); /// /// AsanaStateService.Initialize(); //ApplicationRatingNotificationServiceFromNokia.Initialize("Winsana","*****@*****.**"); ViewModelMap.Register <MainPage, MainViewModel>(); ViewModelMap.Register <WorkspaceDetails, WorkspaceDetailsViewModel>(); ViewModelMap.Register <UserDetails, UserDetailsViewModel>(); ViewModelMap.Register <AddEditProject, AddEditProjectViewModel>(); ViewModelMap.Register <TagDetails, TagDetailsViewModel>(); ViewModelMap.Register <TaskDetails, TaskDetailsViewModel>(); ViewModelMap.Register <AddEditTask, AddEditTaskViewModel>(); ViewModelMap.Register <ProjectDetails, ProjectDetailsViewModel>(); ViewModelMap.Register <AllTasks, AllTasksViewModel>(); ViewModelMap.Register <SettingsPage, SettingsViewModel>(); ViewModelCache.Register <WorkspaceDetailsViewModel>(); ViewModelCache.Register <ProjectDetailsViewModel>(); ViewModelCache.Register <UserDetailsViewModel>(); ViewModelCache.Register <TagDetailsViewModel>(); ViewModelCache.Register <TaskDetailsViewModel>(); System.Threading.Tasks.TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); SmallProfiler.PrintLine("StartPage - OnNavigatedTo"); #if DEBUG Bootstrapper.Current.Container.Resolve <IApplicationSettingsService>().SetSetting("ApiKey", "2IPsBtr.EBOluTYUi2mwwz86RkWKNHr6"); AsanaStateService.Initialize(); #endif if (AsanaStateService.IsSetApiKey) { ExNavigationService.Navigate <MainPage>(); return; } if (AsanaStateService.IsSetAuthToken) { if (NetworkHelper.IsNetworkAvailableNew()) { var response = await new AsanaRespository().GetUser("me"); if (AsanaClient.ProcessResponse(response, true)) { ExNavigationService.Navigate <MainPage>(); } else { ExNavigationService.Navigate <LoginNewPage>(); } } else { ExNavigationService.Navigate <MainPage>(); } } else { ExNavigationService.Navigate <LoginNewPage>(); } }
/// <remarks> /// ScheduledAgent constructor, initializes the UnhandledException handler /// </remarks> public ScheduledAgent() { if (!_classInitialized) { _classInitialized = true; // Subscribe to the managed exception handler Deployment.Current.Dispatcher.BeginInvoke(delegate { Application.Current.UnhandledException += ScheduledAgent_UnhandledException; }); //var b = new BackgroundBootstrapper(); //b.InitializeForBackgroundTask(); AsanaStateService.Initialize(); AppBootstrapperStateService.Container = new IocContainer(); AppBootstrapperStateService.Container.Register <ILogger, DebugLogger>(); AppBootstrapperStateService.Container.Register <DbService, DbService>(); AppBootstrapperStateService.Container.RegisterInstance <IApplicationSettingsService, ApplicationSettingsService>(); AppBootstrapperStateService.Container.RegisterInstance <IAsanaResponseProcessor, NonUiAsanaResponseProcessor>(); //AppBootstrapperStateService.Container.Resolve<DbService>().Initialize(); } }