Example #1
0
        public ActionResult DiaryDataSetup()
        {
            DiaryDataSetupModel diaryDataSetupData = new DiaryDataSetupModel();
            // Might want to load the data and assign it to the model.

            // 20171023 Pandita: LINQ-to-SQL replaced by EF
            //IEnumerable<UserQuestions> dataQuery = from table in Db.UserQuestions
            //                where table.AspNetUserId.Equals(System.Web.HttpContext.Current.User.Identity.GetUserId())
            //                select table;

            var CurrentUserId = System.Web.HttpContext.Current.User.Identity.GetUserId();
            IEnumerable <UserQuestions> dataQuery = from table in Db.UserQuestions
                                                    where table.AspNetUserId.Equals(CurrentUserId)
                                                    select table;

            bool previousEntry = false;

            foreach (UserQuestions entry in dataQuery)
            {
                if (entry.AspNetUserId == CurrentUserId)
                {
                    diaryDataSetupData.userQuestions = entry;
                    previousEntry = true;
                }
            }
            if (!previousEntry)
            {
                diaryDataSetupData.userQuestions = new UserQuestions()
                {
                    AspNetUserId = CurrentUserId
                };
            }

            return(View(diaryDataSetupData));//);
        }
Example #2
0
        public ActionResult DiaryDataSetup(DiaryDataSetupModel diaryDataSetupData)
        {
            // 20171023 Pandita: refactoring from LINQ-to-SQL to EF
            //IEnumerable<UserQuestions> dataQuery = from table in Db.UserQuestions
            //                                      where table.AspNetUserId.Equals(System.Web.HttpContext.Current.User.Identity.GetUserId())
            //                                     select table;

            var CurrentUserId = System.Web.HttpContext.Current.User.Identity.GetUserId();
            IEnumerable <UserQuestions> dataQuery = from table in Db.UserQuestions
                                                    where table.AspNetUserId.Equals(CurrentUserId)
                                                    select table;
            bool recordPresent = false;

            foreach (UserQuestions entry in dataQuery)
            {
                if (entry.AspNetUserId == CurrentUserId)
                {
                    // 19 categories, hormone not appear on UI for the time being, need to implement a drop-down list for it with date. So in total, 18 categories to choose from.
                    // careful!! some are "question" and others are "questions"
                    recordPresent                        = true;
                    entry.PerceivedStress                = diaryDataSetupData.userQuestions.PerceivedStress; //adding stress?
                    entry.WakeUpFreshness                = diaryDataSetupData.userQuestions.WakeUpFreshness;
                    entry.Mood                           = diaryDataSetupData.userQuestions.Mood;            // 20170214 Pandita: this one not appear on UI
                    entry.Stress                         = diaryDataSetupData.userQuestions.Stress;
                    entry.Tiredness                      = diaryDataSetupData.userQuestions.Tiredness;
                    entry.Dream                          = diaryDataSetupData.userQuestions.Dream;
                    entry.SchoolQuestions                = diaryDataSetupData.userQuestions.SchoolQuestions;
                    entry.CoffeeQuestions                = diaryDataSetupData.userQuestions.CoffeeQuestions;
                    entry.AlcoholQuestions               = diaryDataSetupData.userQuestions.AlcoholQuestions;
                    entry.NapQuestions                   = diaryDataSetupData.userQuestions.NapQuestions;
                    entry.DigDeviceDurationQuestion      = diaryDataSetupData.userQuestions.DigDeviceDurationQuestion;
                    entry.GameDurationQuestion           = diaryDataSetupData.userQuestions.GameDurationQuestion;
                    entry.SocialMediaDurationQuestion    = diaryDataSetupData.userQuestions.SocialMediaDurationQuestion;
                    entry.SocialActivityDurationQuestion = diaryDataSetupData.userQuestions.SocialActivityDurationQuestion;
                    entry.MusicDurationQuestion          = diaryDataSetupData.userQuestions.MusicDurationQuestion;
                    entry.TVDurationQuestion             = diaryDataSetupData.userQuestions.TVDurationQuestion;
                    entry.WorkQuestions                  = diaryDataSetupData.userQuestions.WorkQuestions;
                    entry.ExersiseQuestions              = diaryDataSetupData.userQuestions.ExersiseQuestions;
                    entry.FoodQuestions                  = diaryDataSetupData.userQuestions.FoodQuestions;
                    entry.GenderHormoneQuestion          = diaryDataSetupData.userQuestions.GenderHormoneQuestion; // 20170214 Pandita: this one not appear on UI, too sensitive?
                }
            }

            if (recordPresent == false)
            {
                diaryDataSetupData.userQuestions.AspNetUserId = CurrentUserId;
                //Db.UserQuestions.InsertOnSubmit(diaryDataSetupData.userQuestions);
                Db.UserQuestions.Add(diaryDataSetupData.userQuestions);
            }

            // 20171022 Pandita: unified with EF
            //Db.SubmitChanges();
            Db.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }