Ejemplo n.º 1
0
        /*
         *  Come back to this: Round review to nearest .5 to work with star rating in CSS
         *  Check for null within reviews
         * */
        public List <MeditationModel> GetAllMeditations()
        {
            List <MeditationModel> meditationsModel = new List <MeditationModel>();

            using (var dbConn = new SapremaFinalContext())
            {
                var meditationsList = dbConn.SapMeditations.ToList();

                foreach (var record in meditationsList)
                {
                    //var meditationStars = dbConn.SapReviewMeditation.Where(a => a.MeditationId == record.MeditationId).Select(r => r.ReviewStars).DefaultIfEmpty().Average();
                    MeditationModel mModel = new MeditationModel()
                    {
                        MeditationName        = record.MeditationName,
                        MeditationDescription = record.MeditationDescription.ToString(),
                        MeditationCreator     = record.MeditationCreator.ToString(),
                        MeditationTheme       = record.MeditationTheme,
                        MeditationType        = record.MeditationType,
                        MeditationId          = record.MeditationId.ToString(),
                        MeditationRating      = 5
                    };

                    meditationsModel.Add(mModel);
                }

                return(meditationsModel);
            }
        }
Ejemplo n.º 2
0
 public MedItemDetail(MeditationModel item)
 {
     InitializeComponent();
     medItem        = item;
     medVM          = new MeditationItemDetailVM();
     BindingContext = medVM;
 }
Ejemplo n.º 3
0
        private async void listView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var             selectedCategory = ((ListView)sender).SelectedItem;
            MeditationModel item             = (MeditationModel)selectedCategory;
            await Navigation.PushAsync(new MedItemDetail(item));

            ((ListView)sender).SelectedItem = null;
        }
Ejemplo n.º 4
0
 public MeditationItemDetailVM()
 {
     medItem               = new MeditationModel();
     ShareButtonCommand    = new Command((e) => {
         //todo
     });
     FavouritButtonCommand = new Command((e) => {
         //todo
     });
 }
Ejemplo n.º 5
0
        public async Task <MeditationModel> FetchAllMeditationDetailItem(string id)
        {
            var             meditationService = new MeditationService();
            MeditationModel med = await meditationService.fetchMeditationBaseOnIdAsync(id);

            if (med != null)
            {
                return(med);
            }
            else
            {
                Debug.WriteLine("Meditaion empty return");
                return(null);
            }
        }
Ejemplo n.º 6
0
        public async void FetchAllMeditationsItems()
        {
            medVM.IsBusy = true;
            MeditationModel response = await medVM.FetchAllMeditationDetailItem(medItem.id);

            if (response != null)
            {
                needToShowHideLayout.IsVisible = true;

                UpdatePage(response);
                //todo
            }
            else
            {
                needToShowHideLayout.IsVisible = false;
                NoDataLabel.IsVisible          = true;
                Debug.WriteLine("Category list item is empty");
            }
            medVM.IsBusy = false;
        }
Ejemplo n.º 7
0
        /*
         *  Come back to this: Round review to nearest .5 to work with star rating in CSS
         *  Check for null within reviews
         * */
        public MeditationModel GetSingleMeditation(string meditationId)
        {
            var id = Guid.Parse(meditationId);

            using (var dbConn = new SapremaFinalContext())
            {
                var meditation       = dbConn.SapMeditations.Where(a => a.MeditationId == id).SingleOrDefault();
                var meditationStars  = dbConn.SapReviewMeditation.Where(a => a.MeditationId == id).Select(r => r.ReviewStars).DefaultIfEmpty().Average();
                var meditationReturn = new MeditationModel()
                {
                    MeditationName        = meditation.MeditationName,
                    MeditationDescription = meditation.MeditationDescription.ToString(),
                    MeditationCreator     = new Get().GetTeacherName(meditation.MeditationCreator),
                    MeditationTheme       = meditation.MeditationTheme,
                    MeditationType        = meditation.MeditationType,
                    MeditationId          = meditation.MeditationId.ToString(),
                    MeditationRating      = meditationStars
                };

                return(meditationReturn);
            }
        }
Ejemplo n.º 8
0
 private void UpdatePage(MeditationModel response)
 {
     Title         = response.title;
     medVM.MedItem = response;
 }
Ejemplo n.º 9
0
        /// <summary>
        /// Posts the user fevorites to the server
        /// </summary>
        private async Task PostUserFevorite()
        {
            List <MeditationModel>    fevMeditationList = new List <MeditationModel>();
            List <KnowledgeBaseModel> fevKnowledgeList  = new List <KnowledgeBaseModel>();

            List <FavouriteMeditation>    fevMeditations = DatabaseHelper.GetInstance().GetMeditationFavourite();
            List <FavouriteKnowledgeBase> fevKB          = DatabaseHelper.GetInstance().GetKnowledgeBaseFavourite();

            if (fevMeditations != null && fevMeditations.Count > 0) //prepare required server Meditation model
            {
                foreach (FavouriteMeditation fevMedi in fevMeditations)
                {
                    if (fevMedi.is_favourite.Equals("true"))
                    {
                        MeditationModel meditation = new MeditationModel();
                        meditation.id = fevMedi.id;
                        fevMeditationList.Add(meditation);
                    }
                }
            }
            if (fevKB != null && fevKB.Count > 0) //prepare required server KB model
            {
                foreach (FavouriteKnowledgeBase fevkb in fevKB)
                {
                    if (fevkb.is_favourite.Equals("true"))
                    {
                        KnowledgeBaseModel kb = new KnowledgeBaseModel();
                        kb.id = fevkb.id;
                        fevKnowledgeList.Add(kb);
                    }
                }
            }
            bool             ShouldPostData = false;
            FevouriteRequest fevRequest     = new FevouriteRequest();

            if (fevMeditationList.Count > 0)
            {
                fevRequest.meditations = fevMeditationList;
                ShouldPostData         = true;
            }
            if (fevKnowledgeList.Count > 0)
            {
                fevRequest.knowledge = fevKnowledgeList;
                ShouldPostData       = true;
            }

            if (ShouldPostData)
            {
                //if (String.IsNullOrEmpty(Settings.FevouriteId))
                //{
                //    fevRequest.id = Guid.NewGuid().ToString();
                //}
                //else
                //{
                //    fevRequest.id = Settings.FevouriteId;
                //}
                fevRequest.id             = Settings.FevouriteId;
                fevRequest.mobile_user_id = Settings.MobileUserId;
                var fevService = new FevouriteService();
                FevouriteRequest fevResponse = await fevService.UploadFevouriteList(fevRequest);

                //Settings.FevouriteId = fevResponse.id;
            }
        }