//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)); }
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); }