Beispiel #1
0
        //public bool HasTies()
        //{
        //  if (_analyzer.IsResultAvailable)
        //  {
        //    return _analyzer.ResultTies.Count > 0;
        //  }

        //  return false;
        //}

        public JsonResult GetReportData(string code)
        {
            var status         = "ok";
            var electionStatus = CurrentElection.TallyStatus;

            var readyForReports = true;

            var html = "";

            switch (code)
            {
            case "SimpleResults":
                var summary = new ResultSummaryCacher(Db).AllForThisElection.SingleOrDefault(rs => rs.ResultType == ResultType.Final);
                readyForReports = summary != null && summary.UseOnReports.AsBoolean() && electionStatus == ElectionTallyStatusEnum.Finalized;
                if (summary == null)
                {
                    status         = "Results not available. Please view 'Analyze' page first.";
                    electionStatus = CurrentElection.TallyStatus;
                }
                else
                {
                    html = MvcViewRenderer.RenderRazorViewToString("~/Reports/Main.cshtml", summary);
                }
                break;

            case "VotesByNum":
            case "VotesByName":
                html = MvcViewRenderer.RenderRazorViewToString("~/Reports/{0}.cshtml".FilledWith(code));
                if (html.HasNoContent())
                {
                    return(new { Status = "Unknown report" }.AsJsonResult());
                }

                summary         = new ResultSummaryCacher(Db).AllForThisElection.SingleOrDefault(rs => rs.ResultType == ResultType.Final);
                readyForReports = summary != null && summary.UseOnReports.AsBoolean() && electionStatus == ElectionTallyStatusEnum.Finalized;

                break;

            case "": // not sure how this happens
                return(new { Status = "Unknown report" }.AsJsonResult());

            default:
                html = MvcViewRenderer.RenderRazorViewToString("~/Reports/{0}.cshtml".FilledWith(code));
                if (html.HasNoContent())
                {
                    return(new { Status = "Unknown report" }.AsJsonResult());
                }
                break;
            }

            return(new
            {
                Html = html,
                Status = status,
                Ready = readyForReports,
                ElectionStatus = electionStatus,
                ElectionStatusText = ElectionTallyStatusEnum.TextFor(electionStatus)
            }.AsJsonResult());
        }
Beispiel #2
0
 public HtmlString StateSelectorItems()
 {
     return(ElectionTallyStatusEnum.ForHtmlList(_currentElection));
     //      if (UserSession.IsKnownTeller)
     //      {
     //        return ElectionTallyStatusEnum.ForHtmlList(UserSession.CurrentElection);
     //      }
     //      return ElectionTallyStatusEnum.ForHtmlList(UserSession.CurrentElection, false);
 }
Beispiel #3
0
 public HtmlString StateSelectorItems()
 {
     return(ElectionTallyStatusEnum.ForHtmlList(_currentElection));
 }