/// <summary>
        /// Deletes a remfile and associated viewmodel.
        /// </summary>
        /// <param name="remFileViewModel">The associated viewmodel to the remFile model</param>
        /// <returns>Task completed</returns>
        private async Task DeleteRemFile(RemFileViewModel remFileViewModel)
        {
            RemFiles.Remove(remFileViewModel);
            var remFile = await _remFileStore.GetRemFile(remFileViewModel.Id);

            await _remFileStore.DeleteRemFile(remFile);
        }
        /// <summary>
        /// Creates new empty remFile with viewmodel, navigates to DetailPage.
        /// </summary>
        /// <returns>Task completed</returns>
        private async Task AddRemFile()
        {
            var viewModel = new RemFileDetailPageViewModel(new RemFileViewModel(), _remFileStore, _pageService);

            viewModel.RemFileAdded += (source, remFile) => {
                RemFiles.Add(new RemFileViewModel(remFile));
            };

            await this._pageService.PushAsync(new RemFileDetailPage(viewModel));

            SelectedRemFile = null;
        }
        /// <summary>
        /// Loads remFiles from Database, creates viewmodels and fills remFiles observable collection.
        /// </summary>
        /// <returns>Task completed</returns>
        private async Task LoadData()
        {
            if (_isDataLoaded)
            {
                return;
            }
            _isDataLoaded = true;
            var remfiles = await _remFileStore.GetRemFilesAsync();

            foreach (var r in remfiles)
            {
                RemFiles.Add(new RemFileViewModel(r));
            }
        }
        /// <summary>
        /// Search command used when textChanged in SearchBar or when user pushes SearchButton.
        /// Creates a copy of all remFiles which is restored when the search is empty or cancelled.
        /// </summary>
        /// <param name="text">Text to search for in title (contains)</param>
        private void Search(string text)
        {
            IEnumerable <RemFileViewModel> searchedRemFiles = null;

            if (!_isSearchActive)
            {
                _remFiles = new List <RemFileViewModel>(RemFiles);
            }
            if (String.IsNullOrWhiteSpace(text))
            {
                searchedRemFiles = _remFiles;
                _isSearchActive  = false;
            }
            else
            {
                searchedRemFiles = _remFiles.Where(r => (r.Title.ToLower() + r.Description.ToLower()).Contains(text.ToLower()));
                _isSearchActive  = true;
            }
            RemFiles.Clear();
            foreach (var r in searchedRemFiles)
            {
                RemFiles.Add(r);
            }
        }