public void Decrement(IUser user, Enums.ScoreType type, int val = 1) { if (!HasScore(user)) { throw new System.Exception("The f**k?"); } Scores s = GetScoreByUser(user); switch (type) { case Enums.ScoreType.Qouted: s.Quoted -= val; break; case Enums.ScoreType.Qouter: s.Quotes_Created -= val; break; default: s.VC_Score -= val; break; } _context.SaveChanges(); }
public void Increment(IUser user, Enums.ScoreType type, int val = 1) { bool hasScore = HasScore(user); EntityUser eu = _userRepo.GetUserById(user.Id); if (eu == null) { eu = new EntityUser(user as IGuildUser); _userRepo.AddUser(eu); } Scores score = hasScore ? GetScoreByUser(user) : new Scores() { Id = user.Id, Quoted = 0, Quotes_Created = 0, VC_Score = 0 }; switch (type) { case Enums.ScoreType.Qouted: score.Quoted += val; break; case Enums.ScoreType.Qouter: score.Quotes_Created += val; break; case Enums.ScoreType.VC: score.VC_Score += val; break; } if (!hasScore) { _scoreDbSet.Add(score); } _context.SaveChanges(); }
public int GetScore(IUser user, Enums.ScoreType type) { if (HasScore(user)) { Scores score = GetScoreByUser(user); switch (type) { case Enums.ScoreType.Qouted: return(score.Quoted); case Enums.ScoreType.Qouter: return(score.Quotes_Created); case Enums.ScoreType.VC: return(score.VC_Score); } } return(0); }
private void BindDropDown() { foreach (var item in Enum.GetValues(typeof(Enums.ScoreType))) { Enums.ScoreType _item = (Enums.ScoreType)item; var desc = _item.GetAttributeOfType <System.ComponentModel.DescriptionAttribute>(); drpType.Items.Add(new ListItem() { Text = desc.Description, Value = _item.ToString() }); } foreach (var item in Enum.GetValues(typeof(Enums.SystemType))) { Enums.SystemType _item = (Enums.SystemType)item; var desc = _item.GetAttributeOfType <System.ComponentModel.DescriptionAttribute>(); drpSystemType.Items.Add(new ListItem() { Text = desc.Description, Value = _item.ToString() }); } }
private List <Scores> GiveScoresOrderedBy(Enums.ScoreType type) { List <Scores> scores = _scoreDbSet.ToList(); switch (type) { case Enums.ScoreType.Qouted: scores = scores.OrderBy(s => s.Quoted).ToList(); break; case Enums.ScoreType.Qouter: scores = scores.OrderBy(s => s.Quotes_Created).ToList(); break; case Enums.ScoreType.VC: scores = scores.OrderBy(s => s.VC_Score).ToList(); break; } scores.Reverse(); return(scores); }
public async static Task <EmbedBuilder> BuildRankEmbed(ICommandContext context, Scores[] scores, EntityUser[] users, int page, Enums.ScoreType type) { string title = $"Oreocafé Ranking: Times Quoted- page {page+1}"; string status = "Quotes"; switch (type) { case Enums.ScoreType.Qouter: title = $"Oreocafé Ranking: Quotes Created - page {page + 1}"; status = "Quotes created"; break; case Enums.ScoreType.VC: title = $"Oreocafé Ranking: VC Score- page {page + 1}"; status = "Points"; break; } EmbedBuilder emb = new EmbedBuilder() { Title = title, Color = Color.Green }; foreach (Scores score in scores) { int s = score.Quoted; switch (type) { case Enums.ScoreType.Qouter: s = score.Quotes_Created; break; case Enums.ScoreType.VC: s = score.VC_Score; break; } int indx = scores.IndexOf(score); int rank = indx + 1 + (page * RankingModule._pageAmount); EntityUser user = users[indx]; IGuildUser userg = await context.Guild.GetUserAsync(user.Id); if (userg != null) { emb.AddField(new EmbedFieldBuilder() { Name = $"Rank {rank}", Value = $"{userg.Nickname ?? userg.Username} ({s} {status})", IsInline = false }); } else { emb.AddField(new EmbedFieldBuilder() { Name = $"Rank {rank}", Value = $"{user.Username} ({s} {status})", IsInline = false }); } } EmbedFooterBuilder efb = await EmbedBuilderFunctions.AddFooter(context); emb.WithFooter(efb); return(emb); }
public int GiveRankUser(IUser user, Enums.ScoreType type) { List <Scores> scores = GiveScoresOrderedBy(type); return(scores.IndexOf(scores.FirstOrDefault(s => s.Id.Equals(user.Id))) + 1); }
public Scores[] GiveTopNScores(int start, int end, Enums.ScoreType type) { List <Scores> scores = GiveScoresOrderedBy(type); return(scores.Skip(start).Take(end - start).ToArray()); }