public EquationResultBl CalculateRoots(EquationBl equationBl, double discriminant) { var results = new EquationResultBl(); if (discriminant < 0) { results.FirstRoot = null; results.SecondRoot = null; } if (discriminant == 0) { results.FirstRoot = -equationBl.B / (2 * equationBl.A); results.SecondRoot = null; } if (discriminant > 0) { results.FirstRoot = (-equationBl.B + Math.Sqrt(discriminant)) / (2 * equationBl.A); results.SecondRoot = (-equationBl.B - Math.Sqrt(discriminant)) / (2 * equationBl.A); } var equation = new Equation() { A = equationBl.A, B = equationBl.B, C = equationBl.C, Discriminant = discriminant, FirstRoot = results.FirstRoot, SecondRoot = results.SecondRoot }; _discriminantRepository.SaveResults(equation); return(results); }
public double DiscriminantCalculate(EquationBl equationBl) { var results = new EquationResultBl(); var discriminant = Math.Pow(equationBl.B, 2) - 4 * equationBl.A * equationBl.C; results.Discriminant = discriminant; return(discriminant); }
public ActionResult Calculate(EquationPl equationPl) { var equation = _mapper.Map <EquationBl>(equationPl); var discriminant = _repositoryBl.DiscriminantCalculate(equation); EquationResultBl rootsBl = _repositoryBl.CalculateRoots(equation, discriminant); var rootsPl = _mapper.Map <EquationResultPl>(rootsBl); rootsPl.Discriminant = discriminant; return(View("CalculateResult", rootsPl)); }