// Code to execute when the application is launching (eg, from Start) // This code will not execute when the application is reactivated private async void Application_Launching(object sender, LaunchingEventArgs e) { //Clear cache data var cacheService = new CacheService(); cacheService.ClearCache(); //Clear image data var cacheSetting = new IsolatedStorageProperty <bool>("ClearImageCache"); if (cacheSetting.Value) { StorageHelper.ClearImageCache(); cacheSetting.Value = false; } try { await VoiceCommandService.InstallCommandSetsFromFileAsync(new Uri("ms-appx:///CortanaCommands.xml", UriKind.Absolute)); } catch (Exception ex) { BugSenseHandler.Instance.LogException(ex); } }
public void When_SaveMaxSearchResultCommand_Executed_SavesInputValue() { //Arrange const int maxCount = 500; var maxSearchResultSetting = new IsolatedStorageProperty <int>(Settings.MaxSearchResult, 50); //Act settingsViewModel.SaveMaxSearchResultCommand.Execute(maxCount); //Assert Assert.IsTrue(maxSearchResultSetting.Value == maxCount); }
public async Task InitializeData(bool withoutCache = false) { GroupedProjects = null; FlatProjects = null; IsDataLoaded = false; await jiraService.GetUserProfileAsync(App.UserName); DisplayPicture = jiraService.GetDisplayPicture(App.UserName).ToBitmapImage(); var projects = await jiraService.GetProjects(App.ServerUrl, App.UserName, App.Password, withoutCache); GroupedProjects = AlphaKeyGroup <Project> .CreateGroups(projects, System.Threading.Thread.CurrentThread.CurrentUICulture, s => s.Name, true); FlatProjects = projects; Favourites = await jiraService.GetFavourites(); IsFavouriteExist = Favourites.Count > 0; IsGroupingEnabled = true; IsGroupingEnabled = new IsolatedStorageProperty <bool>(Settings.IsGroupingEnabled, true).Value; IsDataLoaded = true; }
public SettingsViewModel(IDialogService dialogService) { //Set grouping setting setting = new IsolatedStorageProperty <bool>(Settings.IsGroupingEnabled, true); IsGroupingEnabled = setting.Value; //Set maximum search result setting MaxSearchResult = new IsolatedStorageProperty <int>(Settings.MaxSearchResult, 50).Value; ClearImageCacheCommand = new RelayCommand(() => { try { var cacheSetting = new IsolatedStorageProperty <bool>(Settings.ClearImageCache); cacheSetting.Value = true; dialogService.ShowDialog(AppResources.ImageCacheClearedMessage, AppResources.Done); } catch (Exception exception) { var extras = BugSenseHandler.Instance.CrashExtraData; extras.Add(new CrashExtraData { Key = "Method", Value = "SettingsViewModel.ClearCacheCommand" }); BugSenseHandler.Instance.LogException(exception, extras); } }); SaveMaxSearchResultCommand = new RelayCommand <int>(value => { try { var maxSearchResultSetting = new IsolatedStorageProperty <int>(Settings.MaxSearchResult, 50); maxSearchResultSetting.Value = value; } catch (Exception exception) { var extras = BugSenseHandler.Instance.CrashExtraData; extras.Add(new CrashExtraData { Key = "Method", Value = "SettingsViewModel.SaveSettingsCommand" }); BugSenseHandler.Instance.LogException(exception, extras); } }); ClearAttachmentCacheCommand = new RelayCommand(async() => { try { await StorageHelper.ClearAttachmentCache(); dialogService.ShowDialog(AppResources.AttachmentCacheClearedMessage, AppResources.Done); } catch (Exception exception) { var extras = BugSenseHandler.Instance.CrashExtraData; extras.Add(new CrashExtraData { Key = "Method", Value = "SettingsViewModel.ClearAttachmentCacheCommand" }); BugSenseHandler.Instance.LogException(exception, extras); } }); }
public async Task <ObservableCollection <Issue> > Search(string searchText, bool assignedToMe = false, bool reportedByMe = false, bool isFavourite = false, CancellationTokenSource tokenSource = null) { var fields = new List <string> { "summary", "status", "assignee", "reporter", "description", "issuetype", "priority", "comment", "project" }; var expands = new List <string> { "changelog" }; var url = string.Format("{0}{1}", App.BaseUrl, JiraRequestType.Search.ToString().ToLower()); var jql = string.Empty; if (!isFavourite) { if (!string.IsNullOrEmpty(searchText)) { jql += string.Format("text ~ {0}", searchText); } if (assignedToMe) { if (!string.IsNullOrEmpty(searchText)) { jql += string.Format("{0} AND assignee = currentUser()", jql); } else { jql += "assignee = currentUser()"; } } if (reportedByMe) { if (!string.IsNullOrEmpty(searchText)) { jql += string.Format("{0} AND reporter = currentUser()", jql); } else { jql += "reporter = currentUser()"; } } } else { jql = searchText; } var maxSearchResultSetting = new IsolatedStorageProperty <int>(Settings.MaxSearchResult, 50); var request = new SearchRequest { Fields = fields, Expands = expands, JQL = jql, MaxResults = maxSearchResultSetting.Value, StartAt = 0 }; var extras = BugSenseHandler.Instance.CrashExtraData; string data = JsonConvert.SerializeObject(request); try { extras.Add(new CrashExtraData { Key = "Method", Value = "JiraService.Search" }); var result = await httpManager.PostAsync(url, data, true, App.UserName, App.Password, tokenSource); result.EnsureSuccessStatusCode(); var responseString = await result.Content.ReadAsStringAsync(); if (string.IsNullOrEmpty(responseString)) { return(new ObservableCollection <Issue>()); } extras.Add(new CrashExtraData { Key = "Response String", Value = responseString }); var response = JsonConvert.DeserializeObject <SearchResponse>(responseString); return(new ObservableCollection <Issue>(response.Issues)); } catch (Exception exception) { BugSenseHandler.Instance.LogException(exception, extras); } return(null); }