public async Task <ActionResult> Save([FromBody] CreateVote model) { //This needs fixed if (!VotesEnabled) { return(ErrorView(ErrorViewModel.GetErrorViewModel(ErrorType.Unauthorized))); } try { ModelState.Clear(); //Map to Domain Model var domainModel = model.Map(); ////Reinsert Cache //cache.Replace($"VoteCreate:{User.Identity.Name}", domainModel); var valResult = Voat.Validation.ValidationHandler.Validate(domainModel); if (valResult != null) { valResult.ForEach(x => ModelState.AddModelError(x.MemberNames.FirstOrDefault(), x.ErrorMessage)); } CommandResponse <SaveVoteResponse> response = new CommandResponse <SaveVoteResponse>(new SaveVoteResponse(), Status.Success, ""); if (ModelState.IsValid) { //Save Vote var cmd = new PersistVoteCommand(domainModel).SetUserContext(User); var result = await cmd.Execute(); if (result.Success) { response.Response.ID = result.Response.ID; response.Response.Html = await _viewRenderService.RenderToStringAsync("_View", await VoteAggregate.Load(result.Response)); return(JsonResult(response)); //return PartialView("_View", result.Response); } else { ModelState.AddModelError("", result.Message); } } response.Status = Status.Error; response.Response.Html = await _viewRenderService.RenderToStringAsync("_Edit", domainModel, ModelState); return(JsonResult(response)); //return PartialView("_Edit", domainModel); } catch (Exception ex) { var x = ex; throw ex; } }
public async void Post([FromBody] CreateVote createVote) { var vote = new Vote() { VoteValue = createVote.Value, CreatedAt = DateTime.Now }; _context.Votes.Add(vote); await _context.SaveChangesAsync(); }
public JsonResult Add_organizor(CreateVote createVote) { Status status = Status.SUCCESS; if (ModelState.IsValid) { VoteService voteService = new VoteService(); status = voteService.create(createVote); return(Json(new RespondModel(status, ""), JsonRequestBehavior.AllowGet)); } return(Json( new RespondModel( Status.ARGUMENT_ERROR, ModelStateHelper.errorMessages(ModelState)), JsonRequestBehavior.AllowGet)); }
public static Vote Map(this CreateVote transform) { var model = new Vote(); model.ID = transform.ID; model.Title = transform.Title; model.Content = transform.Content; model.FormattedContent = Formatting.FormatMessage(transform.Content); model.Subverse = transform.Subverse; transform.Options.ForEach(x => { var option = new VoteOption(); option.ID = x.ID; option.Title = x.Title; option.Content = x.Content; option.FormattedContent = Formatting.FormatMessage(x.Content); x.Outcomes.ForEach(o => { var outcome = o.Construct <VoteOutcome>(); if (outcome is ISubverse setSub) { setSub.Subverse = model.Subverse; } outcome.ID = o.ID; option.Outcomes.Add(outcome); }); model.Options.Add(option); }); foreach (var r in transform.Restrictions) { var o = r.Construct <VoteRestriction>(); if (o is ISubverse setSub) { setSub.Subverse = model.Subverse; } o.ID = r.ID; model.Restrictions.Add(o); } return(model); }