Example #1
0
        public MeditationItemDetailVM()
        {
            item           = new MeditationBinding();
            databaseHelper = DatabaseHelper.GetInstance();

            ShareButtonCommand = new Command((e) => {
                var a = (e as MeditationBinding);

                HtmlParser htmlParser = new HtmlParser();

                var text         = htmlParser.GetFormattedTextFromHtml(a.html_string);
                var shareMessage = a.title + ":\n" + a.share_message;

                var share = DependencyService.Get <IShare>();
                share.Show(text, shareMessage);
            });
            FavouriteButtonCommand = new Command((e) => {
                var meditation = (e as MeditationBinding);
                databaseHelper.UpdateFavouriteMeditation(meditation.id);
                if (meditation.is_favourite == "true")
                {
                    meditation.is_favourite = "false";
                }
                else if (meditation.is_favourite == "false")
                {
                    meditation.is_favourite = "true";
                }
                Item = meditation;
            });
        }
Example #2
0
        private async void listView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var selectedCategory            = ((ListView)sender).SelectedItem;
            MeditationBinding item          = (MeditationBinding)selectedCategory;
            MedItemDetail     medItemDetail = new MedItemDetail();

            medItemDetail.meditationItem = item;
            await Navigation.PushAsync(medItemDetail);

            ((ListView)sender).SelectedItem = null;
        }
Example #3
0
        public void FetchItemDetail()
        {
            MeditationBinding response = meditationVM.FetchMeditationItemDetail(meditationItem.id);

            if (response != null)
            {
                UpdatePage(response);
                //todo
            }
            else
            {
                Debug.WriteLine("Category list item is empty");
            }
        }
        public List <MeditationBinding> FetchAllFavourites()
        {
            var allMeditations          = databaseHelper.GetMeditation();
            var allMeditationFavourites = databaseHelper.GetMeditationFavourite();

            if (allMeditations != null && allMeditationFavourites != null)
            {
                try
                {
                    var allFavourites = allMeditationFavourites.Where(x => x.is_favourite == "true").ToList();
                    List <MeditationBinding> combinedList = new List <MeditationBinding>();
                    foreach (var f in allFavourites)
                    {
                        var meditation = allMeditations.Find(x => x.id == f.id);

                        MeditationBinding mb = new MeditationBinding();

                        mb.id           = meditation.id;
                        mb.html_string  = meditation.html_string;
                        mb.title        = meditation.title;
                        mb.category     = meditation.category;
                        mb.is_favourite = f.is_favourite;

                        combinedList.Add(mb);
                    }

                    return(combinedList);
                }
                catch
                {
                    Debug.WriteLine("No favourites found!");
                    return(null);
                }
            }
            else
            {
                Debug.WriteLine("List in MeditationFavouritesPage is empty");
                return(null);
            }
        }
Example #5
0
        public List <MeditationBinding> FetchAllCategoryItems()
        {
            var allMeditations          = databaseHelper.GetMeditation();
            var allMeditationFavourites = databaseHelper.GetMeditationFavourite();

            if (allMeditations != null && allMeditationFavourites != null)
            {
                List <Meditation>        meditationBasedOnSelectedCategory = allMeditations.Where(g => g.category == selectedCategoryType).ToList();
                List <MeditationBinding> combinedList = new List <MeditationBinding>();

                foreach (var meditation in meditationBasedOnSelectedCategory)
                {
                    var favourite = allMeditationFavourites.Find(x => x.id == meditation.id);

                    MeditationBinding mb = new MeditationBinding();

                    mb.id            = meditation.id;
                    mb.html_string   = meditation.html_string;
                    mb.title         = meditation.title;
                    mb.category      = meditation.category;
                    mb.share_message = meditation.share_message;
                    if (favourite != null)
                    {
                        mb.is_favourite = favourite.is_favourite;
                    }
                    else
                    {
                        mb.is_favourite = "false";
                    }
                    combinedList.Add(mb);
                }

                return(combinedList);
            }
            else
            {
                Debug.WriteLine("Meditation list in Category item page is empty");
                return(null);
            }
        }
Example #6
0
        public MeditationBinding FetchMeditationItemDetail(string id)
        {
            var allMeditation           = databaseHelper.GetMeditation();
            var allMeditationFavourites = databaseHelper.GetMeditationFavourite();

            if (allMeditation != null && allMeditationFavourites != null)
            {
                Meditation itemDetail = allMeditation.First(x => x.id == id);


                MeditationBinding mb = new MeditationBinding();

                mb.id            = itemDetail.id;
                mb.html_string   = itemDetail.html_string;
                mb.title         = itemDetail.title;
                mb.category      = itemDetail.category;
                mb.share_message = itemDetail.share_message;

                if (allMeditationFavourites.Count() > 0)
                {
                    FavouriteMeditation favourite = allMeditationFavourites.First(x => x.id == id);
                    if (favourite != null)
                    {
                        mb.is_favourite = favourite.is_favourite;
                    }
                }
                else
                {
                    mb.is_favourite = "false";
                }
                return(mb);
            }
            else
            {
                Debug.WriteLine("Meditation item detail in MeditationItemDetail page is empty");
                return(null);
            }
        }
Example #7
0
 private void UpdatePage(MeditationBinding response)
 {
     Title             = response.title;
     meditationVM.Item = response;
 }