Esempio n. 1
0
        // 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;
        }
Esempio n. 4
0
        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);
                }
            });
        }
Esempio n. 5
0
        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);
        }