/* * 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); } }
public MedItemDetail(MeditationModel item) { InitializeComponent(); medItem = item; medVM = new MeditationItemDetailVM(); BindingContext = medVM; }
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; }
public MeditationItemDetailVM() { medItem = new MeditationModel(); ShareButtonCommand = new Command((e) => { //todo }); FavouritButtonCommand = new Command((e) => { //todo }); }
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); } }
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; }
/* * 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); } }
private void UpdatePage(MeditationModel response) { Title = response.title; medVM.MedItem = response; }
/// <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; } }