public void SaveProfiles() { List <RangeProfile_Data> profiles = new List <RangeProfile_Data>(); foreach (DrawingTools.RangeProfile2 profile in RangeProfiles) { RangeProfile_Data RP = new RangeProfile_Data(profile.Tag, profile.StartAnchor.Price, profile.StartAnchor.Time, profile.EndAnchor.Price, profile.EndAnchor.Time, profile.ProfileType, profile.ExtendedLine); profiles.Add(RP); } if (File.Exists("RangeProfiles.xml")) { List <Instrument_Data> lst = new List <Instrument_Data>(); XmlSerializer formatter = new XmlSerializer(typeof(List <Instrument_Data>)); Instrument_Data instrument; using (FileStream fs = new FileStream("RangeProfiles.xml", FileMode.OpenOrCreate)) { lst = (List <Instrument_Data>)formatter.Deserialize(fs); if (lst.Exists(i => i.InstrumentName == parent.Instrument.FullName)) { instrument = lst.Find(i => i.InstrumentName == parent.Instrument.FullName); lst.Remove(instrument); } else { instrument = new Instrument_Data(parent.Instrument.FullName); } instrument.RangeProfilesList = profiles; lst.Add(instrument); } using (FileStream fs = new FileStream("RangeProfiles.xml", FileMode.Create)) { formatter.Serialize(fs, lst); } } else { List <Instrument_Data> lst = new List <Instrument_Data>(); XmlSerializer formatter = new XmlSerializer(typeof(List <Instrument_Data>)); Instrument_Data instrument = new Instrument_Data(parent.Instrument.FullName); lst.Add(instrument); using (FileStream fs = new FileStream("RangeProfiles.xml", FileMode.Create)) { formatter.Serialize(fs, lst); } } }
public void LoadProfiles() { if (File.Exists("RangeProfiles.xml")) { List <Instrument_Data> lst = new List <Instrument_Data>(); XmlSerializer formatter = new XmlSerializer(typeof(List <Instrument_Data>)); Instrument_Data instrument; using (FileStream fs = new FileStream("RangeProfiles.xml", FileMode.OpenOrCreate)) { lst = (List <Instrument_Data>)formatter.Deserialize(fs); if (lst.Exists(i => i.InstrumentName == parent.Instrument.FullName)) { instrument = lst.Find(i => i.InstrumentName == parent.Instrument.FullName); } else { instrument = new Instrument_Data(parent.Instrument.FullName); } foreach (RangeProfile_Data profile in instrument.RangeProfilesList) { parent.CreateNewRangeProfile(profile.Tag, profile.Left_Time, profile.Top_price, profile.Right_Time, profile.Bottom_price, profile.ProfileType, profile.IsExtended); } } } }