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));//); }
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")); }