Beispiel #1
0
        // 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();
        }