private async Task AddContact()
        {
            var viewModel = new ContactDetailPageViewModel(new ContactViewModel(), _pageService, _contactsNoFilter);

            viewModel.ContactAdded += (source, newContact) =>
            {
                _contactsNoFilter.Add(new ContactViewModel(newContact));
                SortList();
            };

            await _pageService.PushAsync(new ContactDetailPage(viewModel));
        }
        private async Task EditContact(ContactViewModel contactViewModel)
        {
            var viewModel = new ContactDetailPageViewModel(contactViewModel, _pageService, _contactsNoFilter);

            viewModel.ContactUpdated += (source, updatedContact) =>
            {
                var oldContact = _contactsNoFilter.Find(x => x.Equals(contactViewModel));
                oldContact.FirstName     = updatedContact.FirstName;
                oldContact.LastName      = updatedContact.LastName;
                oldContact.ContactNumber = updatedContact.ContactNumber;
                SortList();
            };

            await _pageService.PushAsync(new ContactDetailPage(viewModel));
        }