protected void Button1_Click(object sender, EventArgs e) { int laps, length, mins, cals; if (int.TryParse(TextBox1.Text, out laps) && int.TryParse(TextBox2.Text, out length) && int.TryParse(TextBox3.Text, out mins) && int.TryParse(TextBox4.Text, out cals)) { SwimCalcResult calcResult = SwimCalc.PerformCalculation(laps, length, mins, cals); StringBuilder builder = new StringBuilder(); builder.AppendFormat("Distance: {0:F2} miles\n", calcResult.Distance); builder.AppendFormat("Calories Burned: {0:F0}\n", calcResult.Calories); builder.AppendFormat("Pace: {0:F0} sec/lap\n", calcResult.Pace); TextBox5.Text = builder.ToString(); } }
public IActionResult Calculate(SwimCalc sc) { Swim.Calculated = string.Empty; Swim.SwimWorkout = sc.SwimWorkout; if (!string.IsNullOrEmpty(sc.SwimWorkout)) { StringReader sr = new StringReader(sc.SwimWorkout); List <string> wo = new List <string>(); while (true) { string s = sr.ReadLine(); if (s != null) { wo.Add(s); } else { break; } } IEnumerable <string> calculatedWorkout = SwimCalculate.CalcWorkoutDistance(wo, sc.Metric); string calculated = string.Empty; foreach (string woLine in calculatedWorkout) { calculated += woLine + "\r\n"; } Swim.SwimWorkout = sc.SwimWorkout; Swim.Calculated = calculated; } Swim.Zones = sc.Zones; if (!string.IsNullOrEmpty(sc.Zones)) { Swim.Calculated += "\r\n" + ZoneCalculate.FormatZones(sc.Zones, sc.Metric); } Swim.Metric = sc.Metric; return(RedirectToAction("Index")); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } else { int laps, length, mins, cals; if (int.TryParse(lapsInput.Value, out laps) && int.TryParse(lengthInput.Value, out length) && int.TryParse(minsInput.Value, out mins) && int.TryParse(calsInput.Value, out cals)) { try { SwimCalcResult calcResult = SwimCalc.PerformCalculation(laps, length, mins, cals); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<b>Result</b>"); stringBuilder.AppendFormat("<p>Distance: {0:F2} miles</p>", calcResult.Distance); stringBuilder.AppendFormat("<p>Calories Burned: {0:F0}</p>", calcResult.Calories); stringBuilder.AppendFormat("<p>Pace : {0:F0} sec/lap</p>", calcResult.Pace); // set the results text results.InnerHtml = stringBuilder.ToString(); // clear the stringBuilder so we can reuse it stringBuilder.Clear(); stringBuilder.Append("<b>Previous results</b>"); // get the previous results if they are in the view data /* * if (ViewState["lastResults"] != null) * { * float[] oldDataArray = (float[])ViewState["lastResults"]; * stringBuilder.AppendFormat("<p>Distance: {0:F2} miles<p>", oldDataArray[0]); * stringBuilder.AppendFormat("<p>Calories Burned: {0:F0}", oldDataArray[1]); * stringBuilder.AppendFormat("<p>Pace: {0:F0} sec/lap</p>", oldDataArray[2]); * } else * { * stringBuilder.Append("<p>No previous results are available<p>"); * } * // set the view state data * ViewState["lastResults"] = new float[] { calcResult.Distance, calcResult.Calories, calcResult.Pace }; */ // get the previous result of they are in the session state if (Session["lastResults"] != null) { SwimCalcResult oldData = (SwimCalcResult)Session["lastResults"]; stringBuilder.AppendFormat("<p>Distance: {0:F2} miles<p>", oldData.Distance); stringBuilder.AppendFormat("<p>Calories Burned: {0:F0}", oldData.Calories); stringBuilder.AppendFormat("<p>Pace: {0:F0} sec/lap</p>", oldData.Pace); } else { stringBuilder.Append("<p>No previou results are available</p>"); } Session["lastResults"] = calcResult; //You may also use Application state in place of Session state like this if (Application["lastResult"] != null) {...} ... oldResults.InnerHtml = stringBuilder.ToString(); } catch (ArgumentOutOfRangeException) { results.InnerText = "Error: parameter out of range"; } } else { results.InnerText = "Error: could not process input values"; } } // Settng default values lapsInput.Value = "1"; lengthInput.Value = "20"; minsInput.Value = "60"; calsInput.Value = "1070"; }