public override Int64Value GetCalculateVoteWeight(VoteInformation input) { return(new Int64Value { Value = GetVotesWeight(input.Amount, input.LockTime) }); }
public IActionResult ElectionCard(string tickets) { var encTickets = Convert.FromBase64String(tickets); var protector = dataprotection.CreateProtector("EVSKeyExchange"); var plainSerTickets = Encoding.UTF8.GetString(protector.Unprotect(encTickets)); var ticketList = JsonSerializer.Deserialize <List <VoteTicket> >(plainSerTickets); string d; lock (configuration) { d = configuration.Get(HomeController.ESElectionConfigurationKey); } var electionDescription = JsonSerializer.Deserialize <ElectionGuard.ElectionDescription>(d); var electionmap = electionDescription.contests.ToDictionary(v => v.object_id); var elections2Send = new List <string>(); var usedTickets = new List <VoteTicket>(); var availableTickets = new List <VoteTicket>(); // Check used tickets foreach (var ticket in ticketList) { if (!electionmap.ContainsKey(ticket.ElectionId)) { throw new Exception("Invalid state in ElectionCard generation (ticket referring to non-existing election)"); } elections2Send.Add(ticket.ElectionId); if (ticketsDb.Get(ticket.HashId) != null) { usedTickets.Add(ticket); } else { availableTickets.Add(ticket); } } electionDescription.contests = electionDescription.contests.Where(c => elections2Send.Contains(c.object_id)).ToArray(); var cardData = new VoteInformation() { ElectionDescription = electionDescription, AvailableTickets = availableTickets, UsedTickets = usedTickets }; return(View((tickets, cardData))); }