public int CollectedXp() { var editionXps = ReadEditions.Sum(x => x.Edition.AwardedXp); var badgeXps = EarnedBadges.Sum(x => x.Badge.AwardedXp); return(editionXps + badgeXps); }
protected void Page_PreRender(object sender, EventArgs e) { object patronMessage = Session[SessionKey.PatronMessage]; if (patronMessage != null) { object patronMessageLevel = Session[SessionKey.PatronMessageLevel]; string alertLevel = "alert-success"; if (patronMessageLevel != null) { alertLevel = string.Format("alert-{0}", patronMessageLevel.ToString()); Session.Remove(SessionKey.PatronMessageLevel); } alertContainer.CssClass = string.Format("alert {0}", alertLevel); alertGlyphicon.Visible = false; object patronMessageGlyph = Session[SessionKey.PatronMessageGlyphicon]; if (patronMessageGlyph != null) { alertGlyphicon.Visible = true; alertGlyphicon.CssClass = string.Format("glyphicon glyphicon-{0} margin-halfem-right", patronMessageGlyph); Session.Remove(SessionKey.PatronMessageGlyphicon); } alertMessage.Text = patronMessage.ToString(); alertContainer.Visible = true; Session.Remove(SessionKey.PatronMessage); } else { alertContainer.Visible = false; } if (!PatronTakingTest) { var earnedBadges = Session[SessionKey.EarnedBadges]; if (earnedBadges != null) { EarnedBadges = earnedBadges.ToString().Replace('|', ','); new SessionTools(Session).ClearEarnedBadges(); if (EarnedBadges.Contains("?")) { var currentPatron = Session[SessionKey.Patron] as Patron; if (currentPatron != null) { this.Log().Warn("Invalid EarnedBadges value for {0} contains ?: {1}", currentPatron.PID, EarnedBadges); } else { this.Log().Warn("Invalid EarnedBadges value - contains ?: {0}", EarnedBadges); } } } } }
private List <IEarnedBadgeItem> BuildEarnedBadges(BadgeType badgeType) { var badges = new List <IEarnedBadgeItem>(); var earnedBadgesOfType = EarnedBadges.Where(eb => eb.Type == badgeType); foreach (var earnedBadge in earnedBadgesOfType) { if (!badges.Where(eb => eb.Id == earnedBadge.Id).Any()) { badges.Add(earnedBadge); } } return(badges); }
public void AddBadge(Badge badge) { if (badge == null) { return; } if (!EarnedBadges.Any(x => x.BadgeId == badge.Id && x.UserId == this.Id)) { EarnedBadges.Add(new UserBadge { Badge = badge, User = this }); } }
public override void LoadSave(object obj) { BadgeServiceSave save = obj as BadgeServiceSave; if (save != null) { save.CheckNotNull(); EarnedBadges.Clear(); EarnedBadges.AddRange(save.badges); //foreach(var data in badgeDatas ) { // data.IsEarned = HasBadge(data.Id); //} IsLoaded = true; } else { LoadDefaults(); } }
public override void LoadDefaults() { EarnedBadges.Clear(); IsLoaded = true; }