/// <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(); } }
/// <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); } } }