// GET: Badges public ActionResult Index() { if (Session["UserID"] == null) { return(RedirectToAction("Login", "Home")); } else { CLIENT_ID = int.Parse(Session["UserID"].ToString()); } //get badges the user has earned BadgesModelView badgeModel = new BadgesModelView(); badgeModel.badges = getUserBadges(); badgeModel.tweetMessage = "! Come budget with Commerce today at commercebank.com"; badgeTrigger(badgeModel); badgeModel.badgeCount = badgeModel.badges.Count(); badgeModel.totalBadgeCount = dbContext.Badges.Count(); //get most recent badge ClientBadge recent = dbContext.ClientBadges.Where(x => x.ClientID == CLIENT_ID).OrderByDescending(t => t.DateEarned).FirstOrDefault(); badgeModel.mostRecent = dbContext.Badges.Where(x => x.BadgeID == recent.BadgeID).FirstOrDefault(); return(View(badgeModel)); }
//Add a badge if the user has not earned it yet. public void addNewBadge(int badgeID, int clientID) { ClientBadge cb = dbContext.ClientBadges.Where(x => x.ClientID == clientID && x.BadgeID == badgeID).FirstOrDefault(); if (cb != null) { return; } else { cb = new ClientBadge(); } cb.BadgeID = badgeID; cb.ClientID = clientID; cb.Status = "new"; cb.DateEarned = DateTime.Now; dbContext.ClientBadges.Add(cb); dbContext.SaveChanges(); }