//public ActionResult Achievements() //{ // var user = db.Users.Include("WorkoutLogs").Where(e => e.UserName == HttpContext.User.Identity.Name).FirstOrDefault(); // return RedirectToAction("Achievements", new { id = user.Id }); // //var profileAchievements = new List<ProfileAchievement>(); // //foreach (var achievement in db.Achievements) // //{ // // var likeLogs = user.WorkoutLogs.Where(e => e.WorkoutRefId == achievement.WorkoutRefId); // // var profileAchievement = new ProfileAchievement(); // // profileAchievement.Achievement = achievement; // // var soFar = likeLogs.Sum(e => e.Qty); // // profileAchievement.MyQty = Math.Min(likeLogs.Sum(e => e.Qty), achievement.Qty); // // if (likeLogs.Sum(e => e.Qty) >= achievement.Qty) // // { // // profileAchievement.Unlocked = true; // // } // // profileAchievements.Add(profileAchievement); // //} // //return View(profileAchievements); //} public ActionResult Achievements(int?id) { var myAchievements = new ProfileAchievementHeader(); if (id.HasValue) { myAchievements.User = db.Users.Include("WorkoutLogs").Where(e => e.Id == id).FirstOrDefault(); } else { myAchievements.User = db.Users.Include("WorkoutLogs").Where(e => e.UserName == HttpContext.User.Identity.Name).FirstOrDefault(); } myAchievements.ProfileAchievments = new List <ProfileAchievement>(); foreach (var achievement in db.Achievements) { var likeLogs = myAchievements.User.WorkoutLogs.Where(e => e.WorkoutRefId == achievement.WorkoutRefId); var profileAchievement = new ProfileAchievement(); profileAchievement.Achievement = achievement; var soFar = likeLogs.Sum(e => e.Qty); profileAchievement.MyQty = Math.Min(likeLogs.Sum(e => e.Qty), achievement.Qty); if (likeLogs.Sum(e => e.Qty) >= achievement.Qty) { profileAchievement.Unlocked = true; } myAchievements.ProfileAchievments.Add(profileAchievement); } return(View(myAchievements)); }
// Setup of the prefab public void Setup(Achievement Achiev, ProfileAchievement ProfAch) { this.AchText.text = Achiev.Information; this._UserId = Achiev.UserId.ToString(); this._ProfileAch = ProfAch; this._Achievement = Achiev; this.ButtonComponent.onClick.AddListener(this.PopUp); }
// Awake will get the scripts for the transforms that was specified in the Unity control panel void Awake() { this._AchScript = transform.FindChild("AchievementBox").GetComponent <ProfileAchievement> (); this._BadgeScript = transform.FindChild("BadgeBox").GetComponent <ProfileBadge> (); this._InfScript = transform.FindChild("ProfileInfo").GetComponent <ProfileInfo> (); }