//Constructor 2 public frmProgramOverview(VO2MaxProgram CurrentProgram) : this() { tlpOverview.HorizontalScroll.Enabled = false; currentProgram = CurrentProgram; InitializeForm(); }
//Read Program - This method must be refactored into DataSample private void ReadXMLProgram() { CurrentVO2MaxProgram = new VO2MaxProgram(); string RootDiretory = AppDomain.CurrentDomain.BaseDirectory; XmlTextReader reader = null; switch (DataSample.ProgramSelector) { case Enumerators.ProgramSelect.VO2MaxProgram1: reader = new XmlTextReader(RootDiretory + "\\Programs\\VO2MaxProgram1.xml"); lblTitle.Text = "Program: VO2 Max Program 1"; lblDescription.Text = "Program Time: 30 min"; CurrentPowerIndex = GlobalVariables.VO2MaxProgram1PB; break; case Enumerators.ProgramSelect.VO2MaxProgram2: reader = new XmlTextReader(RootDiretory + "\\Programs\\VO2MaxProgram2.xml"); lblTitle.Text = "Program: VO2 Max Program 2"; lblDescription.Text = "Program Time: 30 min"; CurrentPowerIndex = GlobalVariables.VO2MaxProgram2PB; break; case Enumerators.ProgramSelect.VO2MaxProgram3: reader = new XmlTextReader(RootDiretory + "\\Programs\\VO2MaxProgram3.xml"); lblTitle.Text = "Program: VO2 Max Program 3"; lblDescription.Text = "Program Time: 26 min"; CurrentPowerIndex = GlobalVariables.VO2MaxProgram3PB; break; case Enumerators.ProgramSelect.VO2MaxProgram4: reader = new XmlTextReader(RootDiretory + "\\Programs\\VO2MaxProgram4.xml"); lblTitle.Text = "Program: VO2 Max Program 4"; lblDescription.Text = "Program Time: 20 min"; CurrentPowerIndex = GlobalVariables.VO2MaxProgram4PB; break; case Enumerators.ProgramSelect.CPM: reader = new XmlTextReader(RootDiretory + "\\Programs\\CPMProgram.xml"); lblTitle.Text = "Program: Continuous Passive Motion (CPM)"; lblDescription.Text = "Program Time: 20 min"; CurrentPowerIndex = GlobalVariables.CPMProgramPB; break; case Enumerators.ProgramSelect.Proprioception: reader = new XmlTextReader(RootDiretory + "\\Programs\\ProprioceptionProgram.xml"); lblTitle.Text = "Program: Proprioception"; lblDescription.Text = "Program Time: 10 min"; CurrentPowerIndex = GlobalVariables.PropriocenptionProgramPB; break; case Enumerators.ProgramSelect.RehabBilateral: reader = new XmlTextReader(RootDiretory + "\\Programs\\ProgramRehabBilateral.xml"); lblTitle.Text = "Program: Rehabilitation - Bilateral (9 Stages)"; lblDescription.Text = "Program Time: 15 min"; CurrentPowerIndex = GlobalVariables.RehabProgramPB; break; case Enumerators.ProgramSelect.RehabLeftLeg: reader = new XmlTextReader(RootDiretory + "\\Programs\\ProgramRehabLeftLeg.xml"); lblTitle.Text = "Program: Rehabilitation - Left Leg (11 Stages)"; lblDescription.Text = "Program Time: 15 min"; CurrentPowerIndex = GlobalVariables.RehabProgramLeftPB; break; case Enumerators.ProgramSelect.RehabRightLeg: reader = new XmlTextReader(RootDiretory + "\\Programs\\ProgramRehabRightLeg.xml"); lblTitle.Text = "Program: Rehabilitation - Right Leg (11 Stages)"; lblDescription.Text = "Program Time: 15 min"; CurrentPowerIndex = GlobalVariables.RehabProgramRightPB; break; //case Enumerators.ProgramSelect.CustomProgram: // reader = new XmlTextReader(RootDiretory + "\\Programs\\ProgramRehabBilateral.xml"); // lblTitle.Text = "Program: Rehabilitation - Bilateral (9 Stages)"; // lblDescription.Text = "Program Time: 15 min"; // CurrentPowerIndex = GlobalVariables.RehabProgramPB; // break; default: break; } while (reader.Read()) { if (reader.ReadToFollowing("StageIndex")) { VO2MaxStage newVO2MaxStage = new VO2MaxStage(); reader.Read(); newVO2MaxStage.StageIndex = reader.ReadContentAsInt(); reader.ReadToFollowing("StageNumber"); reader.Read(); newVO2MaxStage.StageNumber = reader.ReadContentAsInt(); reader.ReadToFollowing("StageName"); reader.Read(); newVO2MaxStage.StageName = reader.ReadContentAsString(); reader.ReadToFollowing("StageDuration"); reader.Read(); newVO2MaxStage.StageTimeRemaining = new TimeSpan(0, reader.ReadContentAsInt(), 0); reader.ReadToFollowing("Sets"); reader.Read(); while (reader.Read()) { if (reader.Name == "Set") { VO2MaxSet newVO2MaxSet = new VO2MaxSet(); reader.ReadToFollowing("SetIndex"); reader.Read(); newVO2MaxSet.SetIndex = reader.ReadContentAsInt(); reader.ReadToFollowing("Number"); reader.Read(); newVO2MaxSet.SetNumber = reader.ReadContentAsInt(); reader.ReadToFollowing("Duration"); reader.Read(); double SetTime = reader.ReadContentAsDouble(); if (SetTime < 1) { SetTime = SetTime * 60; newVO2MaxSet.TimeRemaining = new TimeSpan(0, 0, Convert.ToInt32(SetTime)); } else { newVO2MaxSet.TimeRemaining = new TimeSpan(0, Convert.ToInt32(SetTime), 0); } reader.ReadToFollowing("Direction"); reader.Read(); newVO2MaxSet.Direction = reader.ReadContentAsString(); reader.ReadToFollowing("DirectionFlag"); reader.Read(); int DirectionVariable = reader.ReadContentAsInt(); if (DirectionVariable == 1) newVO2MaxSet.SelectedDirection = Enumerators.Direction.Forward; else if (DirectionVariable == -1) newVO2MaxSet.SelectedDirection = Enumerators.Direction.Backward; reader.ReadToFollowing("Contraction"); reader.Read(); newVO2MaxSet.Contraction = reader.ReadContentAsString(); reader.ReadToFollowing("Legs"); reader.Read(); newVO2MaxSet.Legs = reader.ReadContentAsString(); reader.ReadToFollowing("Position"); reader.Read(); newVO2MaxSet.Position = reader.ReadContentAsString(); reader.ReadToFollowing("RestDuration"); reader.Read(); newVO2MaxSet.RestTimeRemaining = new TimeSpan(0, reader.ReadContentAsInt(), 0); reader.ReadToFollowing("Instructions"); reader.Read(); newVO2MaxSet.Instructions = reader.ReadContentAsString(); newVO2MaxStage.VO2MaxSetCollection.Add(newVO2MaxSet); reader.Read(); //Read White Space reader.Read(); //Read Set reader.Read(); //Read White Space } else { break; } } CurrentVO2MaxProgram.VO2MaxStageCollection.Add(newVO2MaxStage); } } CurrentVO2MaxProgram.ProgramTime = new TimeSpan(0, 0, 0); foreach (VO2MaxStage stage in CurrentVO2MaxProgram.VO2MaxStageCollection) { CurrentVO2MaxProgram.ProgramTime = CurrentVO2MaxProgram.ProgramTime + stage.StageTimeRemaining; } }