public override void SaveColumnLayouts(FeedColumnLayoutCollection layouts) { string fileName = ColumnLayoutDefsFileName; if (layouts == null || layouts.Count == 0) { if (File.Exists(fileName)) { FileHelper.Delete(fileName); } return; } XmlSerializer serializer = XmlHelper.SerializerCache.GetSerializer(typeof(SerializableColumnLayoutDefinitions)); using (Stream stream = FileHelper.OpenForWrite(fileName)) { SerializableColumnLayoutDefinitions root = new SerializableColumnLayoutDefinitions(); root.ColumnLayouts = new List <listviewLayout>(layouts.Count); /* sometimes we get nulls in the arraylist, remove them */ List <string> toRemove = new List <string>(); foreach (string k in layouts.Keys) { var s = layouts[k]; if (s == null) { toRemove.Add(k); } else { root.ColumnLayouts.Add(new listviewLayout(k, s)); } } while (toRemove.Count > 0) { layouts.Remove(toRemove[0]); toRemove.RemoveAt(0); } serializer.Serialize(stream, root); } }
//public override void Initialize(string initData) //{ // base.Initialize(initData); // //TODO: own inits //} public override FeedColumnLayoutCollection LoadColumnLayouts() { string fileName = ColumnLayoutDefsFileName; if (File.Exists(fileName)) { XmlSerializer serializer = XmlHelper.SerializerCache.GetSerializer(typeof(SerializableColumnLayoutDefinitions)); using (Stream s = FileHelper.OpenForRead(fileName)) { SerializableColumnLayoutDefinitions root = (SerializableColumnLayoutDefinitions)serializer.Deserialize(s); FeedColumnLayoutCollection coll = new FeedColumnLayoutCollection(root.ColumnLayouts.Count); foreach (var layout in root.ColumnLayouts) { coll.Add(layout.ID, layout.FeedColumnLayout); } return(coll); } } return(new FeedColumnLayoutCollection()); }
public abstract void SaveColumnLayouts(FeedColumnLayoutCollection layouts);