/// <summary> /// Called when [search button_ click]. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void OnSearchButton_Click(object sender, EventArgs e) { var userId = this.Users.UserIdSelected; Type = RapBattleType.Written; switch (this.BattleTypeField.Text) { case "Audio": Type = RapBattleType.Audio; break; case "Written": Type = RapBattleType.Written; break; case "Video": Type = RapBattleType.Video; break; } var userData = new UserData(userId); if (Type == RapBattleType.Written && userId != 0 && userId != 1) { BindUsersBattles(userData.GetUsersWrittenBattles().Cast<RapBattle>().ToList()); } if (Type == RapBattleType.Audio && userId != 0 && userId != 1) { BindUsersBattles(userData.GetUsersAudioBattles().Cast<RapBattle>().ToList()); } }
/// <summary> /// Declares the rap battle winner. /// </summary> /// <param name="user1VotesList">The user1 votes list.</param> /// <param name="user2VotesList">The user2 votes list.</param> /// <param name="battleType">Type of the battle.</param> /// <param name="battleId">The battle identifier.</param> /// <param name="user1Id">The user1 identifier.</param> /// <param name="user2Id">The user2 identifier.</param> /// <returns></returns> public static UpdatedRapBattleVote DeclareRapBattleWinner(List<RapBattleVote> user1VotesList, List<RapBattleVote> user2VotesList, RapBattleType battleType, int battleId, int user1Id, int user2Id) { var winnerObject = new UpdatedRapBattleVote(); if (user1VotesList.Any()) { winnerObject.User1Overall = (float) (user1VotesList.Average(x => x.Wordplay) + user1VotesList.Average(x => x.Flow) + user1VotesList.Average(x => x.Metaphores) + user1VotesList.Average(x => x.Multis) + user1VotesList.Average(x => x.PunchLines))/5; } else { winnerObject.User1Overall = 0f; } if (user2VotesList.Any()) { winnerObject.User2Overall = (float) (user2VotesList.Average(x => x.Wordplay) + user2VotesList.Average(x => x.Flow) + user2VotesList.Average(x => x.Metaphores) + user2VotesList.Average(x => x.Multis) + user2VotesList.Average(x => x.PunchLines))/5; } else { winnerObject.User2Overall = 0f; } if (winnerObject.User1Overall > winnerObject.User2Overall) { winnerObject.WinnerId = user1Id; if (battleType == RapBattleType.Written) { Db.update_writtenbattle_winner(battleId, user1Id, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } else { Db.update_audiobattle_winner(battleId, user1Id, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } } else if (winnerObject.User2Overall > winnerObject.User1Overall) { winnerObject.WinnerId = user2Id; if (battleType == RapBattleType.Written) { Db.update_writtenbattle_winner(battleId, user2Id, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } else { Db.update_audiobattle_winner(battleId, user2Id, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } } else //draw { if (battleType == RapBattleType.Written) { Db.update_writtenbattle_winner(battleId, null, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } else { Db.update_audiobattle_winner(battleId, null, (float) winnerObject.User1Overall, (float) winnerObject.User2Overall); } } return winnerObject; }