public ActionResult CastVote(Models.VoteModel savemodel) { try { List <int> priorities = savemodel.Votes.Select(m => m.Priority).ToList(); if (savemodel.Votes.Any(m => priorities.Count(p => p == m.Priority) != 1)) { // invalid var model = GetModel(); model.VotesAreNotUnique = true; return(View("Index", model)); } else { SaveVoteModel model = new SaveVoteModel(); model.Email = savemodel.Email; model.Votes = savemodel.Votes.Select(v => new Repository.VoteRepository.VoteModel() { Location = v.LocationName, Priority = v.Priority }).ToList(); _voteRep.SaveVote(model); } return(RedirectToAction("Winner")); } catch { return(View()); } }
private async Task <AjaxResponse> SaveVote(SaveVoteModel vote) { Tuple <string, bool> response = await _userAppService.SaveVote(vote.Id, vote.ElectorateId, vote.CandidateIds, vote.PartyId, vote.Referendum); AjaxResponse ar = new AjaxResponse(); if (response.Item2) { ar.Success = true; ar.Result = response.Item1; } else { ar.Success = false; ar.Error = new ErrorInfo(response.Item1); } return(ar); }
public async Task <AjaxResponse> SaveVoteAsync([FromBody] SaveVoteModel voteResult) { return(await Task <AjaxResponse> .Run(() => SaveVote(voteResult))); }