public async Task SetBallotCodeAsync(BallotModel ballot)
        {
            await Task.CompletedTask;

            using (var tableAdapter = new BallotTableAdapter())
            {
                tableAdapter.SetBallotCodeQuery(ballot.Code, ballot.Id);
            }
        }
        public async Task <int> CountBallotsAsync(int electionId)
        {
            await Task.CompletedTask;

            using (var tableAdapter = new BallotTableAdapter())
            {
                var count = tableAdapter.CountBallotsQuery(electionId);
                return(count ?? 0);
            }
        }
        public async Task <BallotModel> InsertBallotAsync(VoterModel voter, DateTime enteredAt)
        {
            await Task.CompletedTask;

            using (var tableAdapter = new BallotTableAdapter())
            {
                tableAdapter.Insert(
                    string.Empty,
                    enteredAt,
                    null,
                    voter.Id
                    );
            }

            return(await GetBallotByVinAsync(voter.ElectionId, voter.Vin));
        }
        public async Task <BallotModel> GetBallotByVinAsync(int electionId, string vin)
        {
            await Task.CompletedTask;

            using (var tableAdapter = new BallotTableAdapter())
            {
                var row = tableAdapter.GetBallotsByVin(electionId, vin).SingleOrDefault();
                if (row == null)
                {
                    return(null);
                }

                var model = new BallotModel();
                _mapper.Map(row, model);

                return(model);
            }
        }
        public async Task <BallotModel> GetBallotAsync(int ballotId)
        {
            await Task.CompletedTask;

            using (var tableAdapter = new BallotTableAdapter())
            {
                var row = tableAdapter.GetBallotsById(ballotId).SingleOrDefault();
                if (row == null)
                {
                    return(null);
                }

                var model = new BallotModel();
                _mapper.Map(row, model);

                return(model);
            }
        }