private void GetVotingListCompleted(IEnumerable<VotingDescriptor> votings, Exception exception) { if (exception == null) { StringTable table = new StringTable(); table.AddColumn("No"); table.AddColumn("Title"); table.AddColumn("From"); table.AddColumn("Until"); table.AddColumn("Status"); table.AddColumn("Votes"); int number = 0; foreach (VotingDescriptor voting in votings.OrderBy(v => v.VoteFrom).Take(8)) { table.AddRow(number.ToString(), voting.Title.Text, voting.VoteFrom.ToShortDateString(), voting.VoteUntil.ToShortDateString(), voting.Status.Text(), voting.EnvelopeCount.ToString()); number++; } BotMethods.SendMessage(SendType.Message, Channel, "Pi-Vote: Voting list:"); OutTable(table); } else { BotMethods.SendMessage(SendType.Message, Channel, "Pi-Vote: " + exception.Message); } OnCompleted(); }
private void GetResultComplete(VotingResult result, IDictionary<Guid, VoteReceiptStatus> voteReceiptsStatus, Exception exception) { if (exception == null) { var table = new StringTable(); table.SetColumnCount(2); table.AddRow(result.Title.Text, string.Empty); table.AddRow("Total Ballots", result.TotalBallots.ToString()); table.AddRow("Invalid Ballots", result.InvalidBallots.ToString()); table.AddRow("Valid Ballots", result.ValidBallots.ToString()); foreach (var question in result.Questions) { table.AddRow(question.Text.Text, string.Empty); foreach (var option in question.Options) { table.AddRow(option.Text.Text, option.Result.ToString()); } } BotMethods.SendMessage(SendType.Message, Channel, "Pi-Vote: Result of voting:"); OutTable(table); } else { BotMethods.SendMessage(SendType.Message, Channel, "Pi-Vote: " + exception.Message); } OnCompleted(); }
protected void OutTable(StringTable table) { string[] lines = table.Render().Split(new[] { Environment.NewLine }, StringSplitOptions.None); foreach (string line in lines) { BotMethods.SendMessage(SendType.Message, Channel, line); } }