private void ApprovingDelete()
        {
            AllContactData.Remove(ItemNeedsToBeDeleted);
            LoadLastLoadedSection();

            if (delPopWin != null)
            {
                delPopWin.Close();
            }

            dataService.SaveData(AllContactData); /// saves data to the hard drive
        }
        private int lastViewHolder = 1; /// 0 means = you're on "Favourites" section, 1 means you're on "Contacts" section

        public BookViewModel()
        {
            dataService    = new JsonContactDataService();
            ContactVM      = new ContactViewModel(this);
            AllContactData = dataService.GetData().ToObservableCollection();

            FavContactData     = AllContactData.Where(x => x.IsFavourite == true).ToObservableCollection();
            ContactData        = AllContactData.Where(x => x.IsFavourite == false).ToObservableCollection();
            CurrentContactData = ContactData;
            ContactsCommand    = new RelayCommand(LoadContacts);
            FavouritesCommand  = new RelayCommand(LoadFavourites);
            DeleteApprove      = new RelayCommand(ApprovingDelete);
            DeleteCancel       = new RelayCommand(QuitDeleting);
            AddCommand         = new RelayCommand(AddNewContact);
        }
        public void UpdateFavourites(Contact selectedContact)
        {
            foreach (Contact item in AllContactData)
            {
                if (item == selectedContact)
                {
                    AllContactData.Remove(item);
                    AllContactData.Add(selectedContact);
                    LoadLastLoadedSection();

                    break;
                }
            }
            dataService.SaveData(AllContactData); /// saves data to the hard drive
        }
        private void AddNewContact()
        {
            Contact newContact = new Contact
            {
                Name         = null,
                ImagePath    = null,
                PhoneNumbers = new string[2]
                {
                    null,
                    null
                },
                Mail        = null,
                Address     = null,
                IsFavourite = false
            };

            AllContactData.Add(newContact);
            LoadLastLoadedSection();
            dataService.SaveData(AllContactData); /// saves data to the hard drive
        }
 private void LoadFavourites()
 {
     FavContactData     = AllContactData.Where(x => x.IsFavourite == true).ToObservableCollection();
     CurrentContactData = FavContactData;
     lastViewHolder     = 0;
 }
 private void LoadContacts()
 {
     ContactData        = AllContactData.Where(x => x.IsFavourite == false).ToObservableCollection();
     CurrentContactData = ContactData;
     lastViewHolder     = 1;
 }