public SeancesModel(Meditation meditation, int level, string tint)
        {
            Meditation = meditation;

            Level = level;

            Tint = tint;

            switch (level)
            {
            case 1:
                Title = AppResources.Level1;
                break;

            case 2:
                Title = AppResources.Level2;
                break;

            case 3:
                Title = AppResources.Level3;
                break;

            case 4:
                Title = AppResources.Level4;
                break;

            default:
                break;
            }
        }
Exemple #2
0
        /// <summary>
        /// Add Meditation data into the Meditation database
        /// </summary>
        /// <param name="meditationList"></param>
        public void AddMeditation(List <MeditationModel> meditationList)
        {
            lock (collisionLock)
            {
                int status = database.Table <Meditation>().Delete(e => e.email == Settings.Email);

                foreach (var m in meditationList)
                {
                    Meditation meditation = new Meditation();

                    meditation.id            = m.id;
                    meditation.title         = m.title;
                    meditation.html_string   = m.html_string;
                    meditation.share_message = m.share_message;
                    meditation.email         = Settings.Email;
                    meditation.category      = m.category;

                    database.Insert(meditation);
                }

                foreach (var f in meditationList)
                {
                    if (!(database.Table <FavouriteMeditation>().Any(x => x.id == f.id && x.email == Settings.Email)))
                    {
                        FavouriteMeditation favourite = new FavouriteMeditation();
                        favourite.id           = f.id;
                        favourite.is_favourite = "false";
                        favourite.email        = Settings.Email;
                        database.Insert(favourite);
                    }
                }
            }
        }
Exemple #3
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Artist,Title,Genre,Play")] Meditation meditation)
        {
            if (id != meditation.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(meditation);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MeditationExists(meditation.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(meditation));
        }
Exemple #4
0
        public async Task <IActionResult> Create([Bind("ID,Artist,Title,Genre,Play")] Meditation meditation)
        {
            if (ModelState.IsValid)
            {
                _context.Add(meditation);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(meditation));
        }
Exemple #5
0
        public async Task <IActionResult> Index()
        {
            // get most recent daily report for current user
            AppUser currentUser = await userManager.GetUserAsync(HttpContext.User);

            IList <DailyReport> dailyReports = context.DailyReports.Include(c => c.Mood).Where(c => c.UserID == currentUser.Id).ToList();
            Mood mood = dailyReports.Last().Mood;

            // get meditation that corresponds to mood
            IList <Meditation> meditations = context.Meditations.Where(c => c.ID == mood.ID).ToList();
            Meditation         meditation  = meditations.Last();

            //create view model
            MeditationViewModel meditationViewModel = new MeditationViewModel(mood, meditation);

            return(View(meditationViewModel));
        }
Exemple #6
0
        public int GetSeanceCount(Meditation meditation)
        {
            int seanceCount = 0;

            if (meditation.Level1FrWoman != null)
            {
                seanceCount += 1;
            }
            if (meditation.Level2FrWoman != null)
            {
                seanceCount += 1;
            }
            if (meditation.Level3FrWoman != null)
            {
                seanceCount += 1;
            }

            return(seanceCount);
        }
Exemple #7
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);
            }
        }
Exemple #8
0
    public void Initialize(Meditation meditation, AudioClip clip, float intervalTime, float height, float growTime = 30f)
    {
        Meditation       = meditation;
        IntervalTime     = intervalTime;
        AudioSource.clip = clip;
        _growTime        = growTime;
        _targetHeight    = height;

        _material = Instantiate(TemplateMaterial);
        var mats = Spinner.GetComponent <Renderer>().sharedMaterials;

        mats[1] = _material;
        Spinner.GetComponent <Renderer>().sharedMaterials    = mats;
        ForceSphere.GetComponent <Renderer>().sharedMaterial = _material;

        _minMultiplier               = Meditation.MinCharge / Meditation.MaxCharge;
        Force.StrengthMultiplier     = _minMultiplier;
        SineForce.StrengthMultiplier = Force.StrengthMultiplier - _minMultiplier;

        StartCoroutine(GrowRoutine());

        _initialized = true;
    }
Exemple #9
0
        int GetSeanceCount(Meditation meditation)
        {
            int seanceCount = 0;

            if ((meditation.Level1FrWoman != null) || (meditation.Level1EnWoman != null) || (meditation.Level1FrMan != null) || (meditation.Level1EnMan != null))
            {
                seanceCount += 1;
            }
            if ((meditation.Level2FrWoman != null) || (meditation.Level2EnWoman != null) || (meditation.Level2FrMan != null) || (meditation.Level2EnMan != null))
            {
                seanceCount += 1;
            }
            if ((meditation.Level3FrWoman != null) || (meditation.Level3EnWoman != null) || (meditation.Level3FrMan != null) || (meditation.Level3EnMan != null))
            {
                seanceCount += 1;
            }

            if (seanceCount == 3)
            {
                seanceCount += 1;
            }

            return(seanceCount);
        }
Exemple #10
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new ApplicationDbContext(
                       serviceProvider.GetRequiredService <
                           DbContextOptions <ApplicationDbContext> >()))
            {
                // Look for any movies.
                if (context.Meditations.Any())
                {
                    return;   // DB has been seeded
                }

                Meditation happy = new Meditation()
                {
                    Name        = "Joy Meditation (Strengthen Happiness)",
                    Description = "Spend a few minutes rejoicing and feel that much happier.  A Joy mindfulness meditation created by Stop, Breathe & Think. ",
                    SourceFile  = "/media/happy.mp3"
                };
                Meditation energized = new Meditation()
                {
                    Name        = "Mindful Walking Meditation",
                    Description = "Life is a journey. Enjoy a little peace of mind on your path toward your destination.  A Mindful Walking mindfulness meditation created by Stop, Breathe & Think. ",
                    SourceFile  = "/media/energized.mp3"
                };
                Meditation content = new Meditation()
                {
                    Name        = "10 Minute Mindfullness Meditation | Be Present",
                    Description = "Tamara Levitt guides this 10 minute Daily Calm mindfulness meditation to powerfully restore and re-connect with the present.",
                    SourceFile  = "/media/content.mp3"
                };
                Meditation stressed = new Meditation()
                {
                    Name        = "3-minute Mindful Breathing Meditation (Relieve Stress)",
                    Description = "Feel more settled and calm by spending a few minutes focused on your breathing.  A 3-minute Mindful Breathing mindfulness meditation created by Stop, Breathe & Think. ",
                    SourceFile  = "/media/stressed.mp3"
                };
                Meditation anxious = new Meditation()
                {
                    Name        = "Meditation for Working with Difficulties",
                    Description = null,
                    SourceFile  = "/media/anxious.mp3"
                };
                Meditation sad = new Meditation()
                {
                    Name        = "Loving Kindness Meditation",
                    Description = null,
                    SourceFile  = "/media/sad.mp3"
                };
                Meditation depressed = new Meditation()
                {
                    Name        = "Positive Thinking Meditation: Endorphin Meditation with Positive Affirmations",
                    Description = "Guided Positive Thinking Meditation by Linda Hall, meditation teacher and personal development coach.",
                    SourceFile  = "/media/depressed.mp3"
                };

                //add to db and save changes

                context.Meditations.AddRange(happy, energized, content, stressed, anxious, sad, depressed);
                context.SaveChanges();
            }
        }
Exemple #11
0
        MeditationFile GetMeditationFileForUser(Meditation meditation, int level)
        {
            if (meditation == null)
            {
                return(null);
            }

            if (level == 1)
            {
                if (Settings.Language == "en")
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level1EnMan);
                    }
                    else
                    {
                        return(meditation.Level1EnWoman);
                    }
                }
                else
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level1FrMan);
                    }
                    else
                    {
                        return(meditation.Level1FrWoman);
                    }
                }
            }
            else if (level == 2)
            {
                if (Settings.Language == "en")
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level2EnMan);
                    }
                    else
                    {
                        return(meditation.Level2EnWoman);
                    }
                }
                else
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level2FrMan);
                    }
                    else
                    {
                        return(meditation.Level2FrWoman);
                    }
                }
            }
            else if (level == 3)
            {
                if (Settings.Language == "en")
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level3EnMan);
                    }
                    else
                    {
                        return(meditation.Level3EnWoman);
                    }
                }
                else
                {
                    if (Settings.Voice == "male")
                    {
                        return(meditation.Level3FrMan);
                    }
                    else
                    {
                        return(meditation.Level3FrWoman);
                    }
                }
            }
            else
            {
                return(null);
            }
        }
        public CatalogueProgramModel(TabMeditationModel model, Meditation meditation)
        {
            Model      = model;
            Meditation = meditation;
            Tint       = model.Tint;
            Title      = (meditation.Length.HasValue ? meditation.Length.Value / 60 : 0) + " min";

            int seanceCount = 0;

            if (meditation.Level1FrWoman != null)
            {
                seanceCount += 1;
            }
            if (meditation.Level2FrWoman != null)
            {
                seanceCount += 1;
            }
            if (meditation.Level3FrWoman != null)
            {
                seanceCount += 2;
            }

            SubTitle = seanceCount + (" " + (seanceCount == 1 ? AppResources.seance : AppResources.seances));

            var user = new BasePageModel().StoreManager.UserStore.User;

            Text = Settings.DeviceLanguage == "English" ? meditation.Label_EN : meditation.Label;

            if (model.Program.IsTraining == true || model.Program.IsInitiation == true)
            {
                IsEnabled = true;
            }
            else if (model.Program.AvailableWithSubscription == true)
            {
                IsIncludedInSubscription = true;

                if (user.Subscription == SubscriptionType.free)
                {
                    IsEnabled = false;
                }
                else
                {
                    IsEnabled = true;
                }
            }
            else
            {
                if (user.Subscription == SubscriptionType.free)
                {
                    IsEnabled = false;
                }
                else
                {
                    if (model.Program.Price > 0)
                    {
                        if (user.PaidPrograms != null)
                        {
                            foreach (var item in user.PaidPrograms)
                            {
                                if (item.Id == model.Program.Id)
                                {
                                    IsEnabled = true;
                                    break;
                                }
                                else
                                {
                                    IsEnabled = false;
                                }
                            }
                        }
                        else
                        {
                            IsEnabled = false;
                        }
                    }
                    else if (model.Program.Price == 0)
                    {
                        IsEnabled = true;
                    }
                }
            }
        }
Exemple #13
0
        public async override void Init(object initData)
        {
            base.Init(initData);

            if (initData is bool)
            {
                IsMeditationEnd = (bool)initData;

                if (IsLoading)
                {
                    return;
                }

                IsLoading = true;


                var next = await StoreManager.MeditationStore.GetNextMeditation();

                if (next != null)
                {
                    // meditation completed
                    if (next.otherMeditation != null)
                    {
                        // IsMeditationEnd = true;
                        NextMeditatonName   = Settings.DeviceLanguage == "English" ? next.otherMeditation.label_en : next.otherMeditation.label;
                        NextMeditatonDetail = (next.otherMeditation.length / 60) + " min";
                        meditationID        = next.otherMeditation._id;
                        programId           = next.otherMeditation.programId;

                        //check here for subscription validation
                        var programs = await StoreManager.ProgramStore.GetItemsAsync();

                        var user = await StoreManager.UserStore.GetCurrentUser();

                        if (programs != null && programs.Any() && user.Subscription == Models.DataObjects.SubscriptionType.free)
                        {
                            var isGoodtoGo = programs.Where((arg) => arg.IsInitiation.Value || arg.IsTraining.Value).Select((arg) => arg.Id).Contains(programId);

                            if (!isGoodtoGo)
                            {
                                BlockNextAccess = true;
                            }
                        }
                    }
                    else if (next.levelUp != null) // session completed
                    {
                        //IsMeditationEnd = false;
                        NextMeditatonName   = Settings.DeviceLanguage == "English" ? next.levelUp.label_en : next.levelUp.label;
                        NextMeditatonDetail = (next.levelUp.length / 60) + " min";
                        meditationID        = next.levelUp._id;
                        programId           = next.levelUp.programId;
                    }
                    else
                    {
                        if (Device.RuntimePlatform == Device.Android)
                        {
                            DefaultNavigationBackgroundColor();
                        }

                        MessagingCenter.Send(this, "NextMeditation");
                        await CoreMethods.PopPageModel(null, modal : true);
                    }
                }
                else
                {
                    if (Device.RuntimePlatform == Device.Android)
                    {
                        DefaultNavigationBackgroundColor();
                    }

                    MessagingCenter.Send(this, "NextMeditation");
                    await CoreMethods.PopPageModel(null, modal : true);
                }


                IsLoading = false;
            }
            if (initData is Meditation)
            { // meditation non terminée -> passage à la seance suivante
                Meditation meditationInProgress = (Meditation)initData;
                IsMeditationEnd = false;

                //IsMeditationEnd = false;
                // NextMeditatonName = Settings.DeviceLanguage == "English" ? meditationInProgress.Label_EN : meditationInProgress.Label;
                // NextMeditatonDetail = (meditationInProgress.Length / 60) + " min";
                meditationID = meditationInProgress.Id;
                programId    = meditationInProgress.ProgramId;
            }
        }
Exemple #14
0
 public MeditationViewModel(Mood mood, Meditation meditation)
 {
     Mood       = mood;
     Meditation = meditation;
 }
 /// <summary>
 /// Outputs all EEG data in string array. In this order: Connection Quality, Delta, Theta, Low Alpha, High Alpha
 /// Low Beta, High Beta, Low Gamma, Mid Gamma, Attention, Meditation.
 /// </summary>
 public string[] AllToStringArray()
 {
     return(new string[] { Quality.ToString(), Delta.ToString(), Theta.ToString(), AlphaLow.ToString(), AlphaHigh.ToString(), BetaLow.ToString(), BetaHigh.ToString(), GammaLow.ToString(), GammaMid.ToString(), Attention.ToString(), Meditation.ToString() });
 }