//[Bind(Include="Idade,TipoTempo,Tempo,Professor")] public ActionResult Calcular(Calculadora CalcForm) { Resultado mResult = new Resultado(); int pontosBase = 0, tempoTrabalhado = (CalcForm.TipoTempo == 0 ? CalcForm.Tempo : CalcForm.Idade - CalcForm.Tempo); int pontosOp1, pontosOp2, anoBase = System.DateTime.Now.Year + 1; int tempoMinimo; if (CalcForm.Sexo == "Homem") { pontosOp1 = pontosOp2 = pontosBase = CalcForm.Professor ? 90 : 95; tempoMinimo = 35; } else { pontosOp1 = pontosOp2 = pontosBase = CalcForm.Professor ? 80 : 85; tempoMinimo = 30; } pontosOp1 -= CalcForm.Idade + tempoTrabalhado; pontosOp2 -= CalcForm.Idade + tempoTrabalhado; mResult.IdadeOp1 = mResult.IdadeOp2 = CalcForm.Idade; mResult.TempoOp1 = mResult.TempoOp2 = tempoTrabalhado; do { if (anoBase == 2017) { if (pontosOp1 > 0) pontosOp1 += 1; if (pontosOp2 > 0) pontosOp2 += 1; } else if (anoBase == 2019) { if (pontosOp1 > 0) pontosOp1 += 1; if (pontosOp2 > 0) pontosOp2 += 1; } else if (anoBase == 2020) { if (pontosOp1 > 0) pontosOp1 += 1; if (pontosOp2 > 0) pontosOp2 += 1; } else if (anoBase == 2021) { if (pontosOp1 > 0) pontosOp1 += 1; if (pontosOp2 > 0) pontosOp2 += 1; } else if (anoBase == 2022) { if (pontosOp1 > 0) pontosOp1 += 1; if (pontosOp2 > 0) pontosOp2 += 1; } if (pontosOp1 > 0 || mResult.TempoOp1 < tempoMinimo) { if (mResult.TempoOp1 < tempoMinimo) { mResult.TempoOp1++; mResult.IdadeOp1++; pontosOp1 -= 2; } else { mResult.IdadeOp1++; pontosOp1--; } } if (pontosOp2 > 0 || mResult.TempoOp2 < tempoMinimo) { if ((mResult.TempoOp2 < tempoMinimo) || (pontosOp2 > 1)) { mResult.TempoOp2++; mResult.IdadeOp2++; pontosOp2 -= 2; } else { mResult.IdadeOp2++; pontosOp2--; } } anoBase++; } while (pontosOp1 > 0 || pontosOp2 > 0 || mResult.TempoOp1 < tempoMinimo || mResult.TempoOp2 < tempoMinimo); mResult.IdadeOp1 -= CalcForm.Idade; mResult.IdadeOp2 -= CalcForm.Idade; mResult.TempoOp1 -= tempoTrabalhado; mResult.TempoOp2 -= tempoTrabalhado; using (StringWriter sw = new StringWriter()) { var vd = new ViewDataDictionary() { Model = mResult }; var viewResult = ViewEngines.Engines.FindPartialView(this.ControllerContext, "ResultView"); var viewContext = new ViewContext(this.ControllerContext, viewResult.View, vd, this.TempData, sw); viewResult.View.Render(viewContext, sw); return Content(sw.ToString()); } }
public ActionResult ResultView(Resultado model) { return PartialView(model); }