Beispiel #1
0
        //Update VotingCard
        public JsonResult Vote(VotingCardDto votingCardDto)
        {
            object result     = null;
            var    votingCard = _context.VotingCards
                                .Include("VotingCardLines").Where(v => v.Id == votingCardDto.Id).FirstOrDefault();

            if (votingCard == null)
            {
                throw new InvalidOperationException();
            }

            //Validate VotingCardVM on server here

            try
            {
                var votingCardLines = VotingCardHelper.ToVotingCardLines(votingCardDto.VotingCardLines);
                votingCard.Vote(votingCardDto.IsInvalid, votingCardLines);
                _context.SaveChanges();

                var returnedObj = new { AmtAlreadyVoted = votingCard.AmtAlreadyVoted };
                result = new { Status = true, Message = "", ReturnedObj = returnedObj };
            }
            catch (Exception ex)
            {
                result = new { Status = false, Message = ex.Message };
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public static VotingCardDto ToVotingCardDto(VotingCard votingCard)
        {
            var votingCardDto = new VotingCardDto()
            {
                Id                 = votingCard.Id,
                IsInvalid          = votingCard.IsInvalid,
                AmtAlreadyVoted    = votingCard.AmtAlreadyVoted,
                IsVoted            = votingCard.IsVoted,
                NumberOfCandidates = votingCard.NumberOfCandidates,
                ShareHolderId      = votingCard.ShareHolderId,
                NumberOfShares     = votingCard.NumberOfShares,
                VotingCardType     = votingCard.VotingCardType,
                VotingCardLines    = new List <VotingCardLineDto>()
            };

            foreach (var item in votingCard.VotingCardLines)
            {
                var lineDto = new VotingCardLineDto()
                {
                    Id            = item.Id,
                    CandidateId   = item.CandidateId,
                    CandidateName = item.CandidateName,
                    VotingAmt     = item.VotingAmt,
                    VotingCardId  = item.VotingCardId
                };
                votingCardDto.VotingCardLines.Add(lineDto);
            }

            return(votingCardDto);
        }