public async Task <ActionResult <InitializeEncryptionResponse> > InitializeEncryption(InitializeEncryptionRequest request)
        {
            try
            {
                _currentBallotCount             = 0;
                _election                       = request.Election;
                _electionMap                    = _electionMapper.GetElectionMap(request.Election);
                _electionGuardConfig            = request.ElectionGuardConfig;
                _exportPath                     = request.ExportPath;
                _encryptedBallotsExportFileName = request.ExportFileName;

                await _config.SetElectionAsync(_election);

                await _config.setElectionGuardConfigAsync(_electionGuardConfig);

                var response = new InitializeEncryptionResponse {
                    Election            = request.Election,
                    ElectionGuardConfig = _electionGuardConfig,
                    ElectionMap         = _electionMap
                };

                return(AcceptedAtAction(nameof(InitializeEncryption), response));
            }
            catch (Exception ex)
            {
                _logger.LogError("InitializeEncryption: ", ex);
                return(StatusCode(500));
            }
        }
예제 #2
0
 public void SetUp()
 {
     election    = new Election();
     leaderBoard = new LeaderBoard(election);
     electionMap = new ElectionMap(election);
     swingOmeter = new SwingOmeter(election);
 }