/// <summary> /// Randomly insert journey score values /// </summary> public void TestInsertJourneyScoreData() { JourneyDataType journeyDataType = RandomHelper.GetRandomEnum <JourneyDataType>(); string rndId = ""; switch (journeyDataType) { case JourneyDataType.PlaySession: rndId = RandomHelper.GetRandom(dbManager.GetAllPlaySessionData()).GetId(); break; case JourneyDataType.LearningBlock: rndId = RandomHelper.GetRandom(dbManager.GetAllLearningBlockData()).GetId(); break; case JourneyDataType.Stage: rndId = RandomHelper.GetRandom(dbManager.GetAllStageData()).GetId(); break; } var lastAccessTimestamp = GenericHelper.GetRelativeTimestampFromNow(-RND.Range(0, 5)); var score = RND.Range(0, 4); dbManager.InsertOrReplace(new JourneyScoreData(rndId, journeyDataType, score, lastAccessTimestamp)); PrintOutput("Inserted (or replaced) journey score data " + lastAccessTimestamp); }
private JourneyScoreData GetJourneyScoreDataWithMaximum(JourneyDataType dataType, string elementId, int newStars, List <JourneyScoreData> scoreDataList) { int previousMaxStars = 0; var scoreData = scoreDataList.Find(x => x.ElementId == elementId && x.JourneyDataType == dataType); if (scoreData != null) { previousMaxStars = scoreData.Stars; } int newMaxStars = Mathf.Max(previousMaxStars, newStars); return(new JourneyScoreData(elementId, dataType, newMaxStars)); }
public JourneyScoreData(string elementId, JourneyDataType dataType, int stars, int timestamp) { ElementId = elementId; JourneyDataType = dataType; Id = JourneyDataType + "." + ElementId; var jp = new JourneyPosition(elementId); Stage = jp.Stage; LearningBlock = jp.LearningBlock; PlaySession = jp.PlaySession; Stars = stars; UpdateTimestamp = timestamp; }
public List <I> GetAllJourneyDataInfo <D, I>(DbTables table, JourneyDataType dataType) where I : DataInfo <D>, new() where D : IData { List <D> data_list = dbManager.GetAllData <D>(table); var info_list = new List <I>(); // Build info instances for the given data foreach (var data in data_list) { var info = new I(); info.data = data; info_list.Add(info); } // Find available scores string query = string.Format("SELECT * FROM " + typeof(JourneyScoreData).Name + " WHERE JourneyDataType = '" + (int)dataType + "' ORDER BY ElementId "); var scoredata_list = dbManager.Query <JourneyScoreData>(query); for (int i = 0; i < info_list.Count; i++) { var info = info_list[i]; var scoredata = scoredata_list.Find(x => x.ElementId == info.data.GetId()); if (scoredata != null) { info.score = scoredata.GetScore(); info.unlocked = true; } else { info.score = 0; // 0 until unlocked info.unlocked = false; } } return(info_list); }
public JourneyScoreData(string elementId, JourneyDataType dataType, int stars) : this(elementId, dataType, stars, GenericHelper.GetTimestampForNow()) { }