/// <summary> /// See all the achievements that are unlocked by this task. if they arent already conferred, confer them /// Recalculate rewards unlocked by the achievement, if they arent already conferred, confer them /// Recalculate Pilot levels unlocked by the achievement if they arent already conferred, confer them /// </summary> /// <param name="dc"></param> /// <param name="taskID"></param> /// <param name="email"></param> private void ProcessTaskDependents(DBClassesDataContext dc, Guid taskID, string email) { // recalculate achievements for this pilot List <Guid> Achievements = RecalculateAchievements(dc, email); // save these achievements if (Achievements.Count > 0) { PilotAchievement.saveAchievements(dc, email, Achievements); } dc.SubmitChanges(); // Now calculate all rewards which are unlocked by this achievement List <Guid> Rewards = RecalculateRewards(dc, email, Achievements); if (Rewards.Count > 0) { PilotReward.saveRewards(dc, email, Rewards); } dc.SubmitChanges(); // Now calculate all rewards which are unlocked by this achievement List <Guid> Levels = RecalculateLevels(dc, email, Achievements); if (Rewards.Count > 0) { PilotClass.saveClasses(dc, email, Levels); } dc.SubmitChanges(); }
protected void Page_Load(object sender, EventArgs e) { mUser = (AppUser)Session[Constants.SESS_KEY_USER]; if (mUser == null) { getUserFromCookie(); if (mUser == null) { Response.Redirect("login.aspx"); Response.Close(); return; } } PilotClasses = PilotClass.getPilotClassesForPilot(mUser.UserEmail); Achievements = PilotAchievement.getAchievementsForPilot(mUser.UserEmail); Rewards = PilotReward.getRewardsForPilot(mUser.UserEmail); }
protected void Page_Load(object sender, EventArgs e) { mUser = (AppUser)Session[Constants.SESS_KEY_USER]; if (mUser == null) { getUserFromCookie(); if (mUser == null) { Response.Redirect("login.aspx"); Response.Close(); return; } } AchievementID = Request.Params["AchievementID"]; achievedWhen = PilotAchievement.WhenAchieved(Guid.Parse(AchievementID), mUser.UserEmail); rd = AchievementDefinition.getAchievementDefinition(Guid.Parse(AchievementID)); IEnumerable <AchievementPrereq> prereqs = AchievementPrereq.getPrereqsForAchievement(Guid.Parse(AchievementID)); requirements = new List <AchievementDefinition>(); taskrequirements = new List <TaskDefinition>(); if (prereqs != null && prereqs.Count <AchievementPrereq>() >= 0) { foreach (AchievementPrereq pcp in prereqs) { if (pcp.RequiredAchievementID != null) { AchievementDefinition ad = AchievementDefinition.getAchievementDefinition((Guid)pcp.RequiredAchievementID); if (ad != null) { requirements.Add(ad); } } else if (pcp.TaskID != null) { TaskDefinition ad = TaskDefinition.getTaskDefinition((Guid)pcp.TaskID); if (ad != null) { taskrequirements.Add(ad); } } } } }