public void Deserialize_V1(Stream stream, DataVersion version) { // Call base deserialization Deserialize(typeof(BasePowerTarget.IConcretePowerTarget), stream, version); IZoneCategory zones = Options.Instance.PowerZoneCategory; // RefId GarminFitnessString categoryRefID = new GarminFitnessString(); categoryRefID.Deserialize(stream, version); // Zone index GarminFitnessInt32Range zoneIndex = new GarminFitnessInt32Range(0); zoneIndex.Deserialize(stream, version); if (categoryRefID == zones.ReferenceId && zoneIndex < zones.Zones.Count) { Zone = zones.Zones[zoneIndex]; } else { Debug.Assert(zones.Zones.Count > 0); Zone = zones.Zones[0]; // We can't find saved zone, force dirty IsDirty = true; } }
public HeartRateZoneSTTarget(INamedLowHighZone zone, BaseHeartRateTarget baseTarget) : this(baseTarget) { Zone = zone; }
public PowerZoneSTTarget(INamedLowHighZone zone, BasePowerTarget baseTarget) : this(baseTarget) { Zone = zone; }
public void Deserialize_V3(Stream stream, DataVersion version) { // Call base deserialization Deserialize(typeof(BaseHeartRateTarget.IConcreteHeartRateTarget), stream, version); IZoneCategory zones = BaseTarget.ParentStep.ParentConcreteWorkout.Category.HeartRateZone; GarminFitnessString categoryRefID = new GarminFitnessString(); categoryRefID.Deserialize(stream, version); GarminFitnessInt32Range zoneIndex = new GarminFitnessInt32Range(0); zoneIndex.Deserialize(stream, version); GarminFitnessBool dirty = new GarminFitnessBool(IsDirty); dirty.Deserialize(stream, version); if (categoryRefID == zones.ReferenceId && zoneIndex < zones.Zones.Count) { Zone = zones.Zones[zoneIndex]; // Was the step dirty on last save? IsDirty = dirty; } else { Debug.Assert(zones.Zones.Count > 0); Zone = zones.Zones[0]; // We can't find saved zone, force dirty IsDirty = true; } }
public static void SerializeSTZoneInfoXML(IStep step, IZoneCategory categoryZones, INamedLowHighZone zone, XmlDocument document) { int index = categoryZones.Zones.IndexOf(zone); if (index != -1) { XmlNode extensionNode; XmlNode categoryNode; XmlNode valueNode; extensionNode = document.CreateElement("TargetOverride"); // Step Id node valueNode = document.CreateElement("StepId"); extensionNode.AppendChild(valueNode); valueNode.AppendChild(document.CreateTextNode(step.ParentWorkout.GetStepExportId(step).ToString())); // Category node categoryNode = document.CreateElement("Category"); extensionNode.AppendChild(categoryNode); // RefId GarminFitnessString categoryRefID = new GarminFitnessString(categoryZones.ReferenceId); categoryRefID.Serialize(categoryNode, "Id", document); // Zone index GarminFitnessInt32Range zoneIndex = new GarminFitnessInt32Range(index); zoneIndex.Serialize(categoryNode, "Index", document); step.ParentWorkout.AddSportTracksExtension(extensionNode); } }
public static bool NamedZoneStillExists(IZoneCategoryList list, INamedLowHighZone zone) { for (int i = 0; i < list.Count; ++i) { IZoneCategory currentZoneCategory = list[i]; for (int j = 0; j < currentZoneCategory.Zones.Count; ++j) { if (currentZoneCategory.Zones[j] == zone) { return true; } } } return false; }
public SpeedZoneSTTarget(INamedLowHighZone zone, BaseSpeedTarget baseTarget) : this(baseTarget) { Zone = zone; }
public CadenceZoneSTTarget(INamedLowHighZone zone, BaseCadenceTarget baseTarget) : this(baseTarget) { Zone = zone; }