/// <summary>
        /// Executed when Navigation is performed
        /// </summary>
        /// <param name="mode">Value representing page to navigate to</param>
        private async void OnNavigateModeChanged(Mode mode)
        {
            //Load user requests when History view is opened
            if (mode == Mode.History)
            {
                LoaderService.Instance.ShowLoader();
                bool isSuccess = await Task.Run(() =>
                {
                    try
                    {
                        //this code added to show loader working
                        Thread.Sleep(3000);
                        using (UserRequestApiService userRequestApi = new UserRequestApiService())
                        {
                            IEnumerable <UserRequest> userRequests = userRequestApi.GetUserRequests(AutoLoginService.Instance.CurrentUser.Guid)
                                                                     .Select(r => { r.ChangedAt = r.ChangedAt.ToLocalTime(); return(r); });
                            UserRequests = new ObservableCollection <UserRequest>(userRequests);
                            return(true);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Log(ex);
                        return(false);
                    }
                });

                LoaderService.Instance.HideLoader();
                if (!isSuccess)
                {
                    Logger.Log(Resources.UserRequest_LoadAllFailed);
                    MessageBox.Show(Resources.UserRequest_LoadAllFailed);
                }
            }
            else
            {
                //Clear user requests list when user opens other pages
                UserRequests.Clear();
            }
        }
示例#2
0
        /// <summary>
        /// Creates new user request about changing files and saves it
        /// </summary>
        /// <param name="filepath">File user worked with</param>
        /// <param name="isChanged"><c>true</c> if file <paramref name="filepath"/> was changed, otherwise <c>false</c></param>
        private async void AddUserRequestAsync(string filepath, bool isChanged)
        {
            using (UserRequestApiService requestService = new UserRequestApiService())
            {
                bool isSuccess = await Task.Run(() =>
                {
                    try
                    {
                        requestService.AddUserRequest(AutoLoginService.Instance.CurrentUser.Guid, new UserRequest(filepath, isChanged, DateTime.UtcNow));
                        return(true);
                    }
                    catch (Exception)
                    {
                        return(false);
                    }
                });

                if (!isSuccess)
                {
                    _dialogService.ShowMessage(Resources.UserRequest_AddFailed);
                }
            }
        }