public static void SaveSettings() { try { XElement xElement = new XElement("Settings"); foreach (PropertyInfo item in from pi in typeof(SettingsManager).GetRuntimeProperties() where pi.GetMethod.IsStatic && pi.GetMethod.IsPublic && pi.SetMethod.IsPublic select pi) { try { string value = HumanReadableConverter.ConvertToString(item.GetValue(null, null)); XElement node = XmlUtils.AddElement(xElement, "Setting"); XmlUtils.SetAttributeValue(node, "Name", item.Name); XmlUtils.SetAttributeValue(node, "Value", value); } catch (Exception ex) { Log.Warning($"Setting \"{item.Name}\" could not be saved. Reason: {ex.Message}"); } } using (Stream stream = Storage.OpenFile("config:/Settings.xml", OpenFileMode.Create)) { XmlUtils.SaveXmlToStream(xElement, stream, null, throwOnError: true); } Log.Information("Saved settings"); } catch (Exception e) { ExceptionManager.ReportExceptionToUser("Saving settings failed.", e); } }
public void Save(XElement entitiesNode) { foreach (EntityData entitiesDatum in EntitiesData) { XElement entityNode = XmlUtils.AddElement(entitiesNode, "Entity"); entitiesDatum.Save(entityNode); } }
public static void publicSaveDatabaseObjectsList(XElement node, IEnumerable <DatabaseObject> databaseObjects, bool saveNestingParents) { List <DatabaseObject> list = new List <DatabaseObject>(databaseObjects); list.Sort((DatabaseObject o1, DatabaseObject o2) => (o1.Type.Order != o2.Type.Order) ? (o1.Type.Order - o2.Type.Order) : o1.Guid.CompareTo(o2.Guid)); foreach (DatabaseObject item in list) { publicSaveDatabaseObject(XmlUtils.AddElement(node, item.Type.Name), item, saveNestingParents); } }
public static void SaveSettings() { XElement xElement = new XElement("Settings"); XElement la = XmlUtils.AddElement(xElement, "Set"); la.SetAttributeValue("Name", "Language"); la.SetAttributeValue("Value", (int)modSettings.languageType); using (Stream stream = Storage.OpenFile(ModsSetPath, OpenFileMode.Create)) { XmlUtils.SaveXmlToStream(xElement, stream, null, throwOnError: true); } }
public void Save(XElement projectNode) { XmlUtils.SetAttributeValue(projectNode, "Guid", ValuesDictionary.DatabaseObject.Guid); XmlUtils.SetAttributeValue(projectNode, "Name", ValuesDictionary.DatabaseObject.Name); XElement node = XmlUtils.AddElement(projectNode, "Subsystems"); ValuesDictionary.Save(node); if (EntityDataList != null) { XElement entitiesNode = XmlUtils.AddElement(projectNode, "Entities"); EntityDataList.Save(entitiesNode); } }
public static void SaveDatabase(XElement node, Database database) { XElement parentNode = XmlUtils.AddElement(node, "DatabaseObjectTypes"); foreach (DatabaseObjectType databaseObjectType in database.DatabaseObjectTypes) { XElement node2 = XmlUtils.AddElement(parentNode, "DatabaseObjectType"); XmlUtils.SetAttributeValue(node2, "Name", databaseObjectType.Name); XmlUtils.SetAttributeValue(node2, "DefaultInstanceName", databaseObjectType.DefaultInstanceName); XmlUtils.SetAttributeValue(node2, "IconName", (!string.IsNullOrEmpty(databaseObjectType.IconName)) ? databaseObjectType.IconName : string.Empty); XmlUtils.SetAttributeValue(node2, "Order", databaseObjectType.Order); XmlUtils.SetAttributeValue(node2, "SupportsValue", databaseObjectType.SupportsValue); XmlUtils.SetAttributeValue(node2, "MustInherit", databaseObjectType.MustInherit); XmlUtils.SetAttributeValue(node2, "NameLengthLimit", databaseObjectType.NameLengthLimit); XmlUtils.SetAttributeValue(node2, "SaveStandalone", databaseObjectType.SaveStandalone); XmlUtils.SetAttributeValue(node2, "AllowedNestingParents", databaseObjectType.AllowedNestingParents.Aggregate(string.Empty, (string r, DatabaseObjectType d) => (r.Length != 0) ? (r + "," + d.Name) : d.Name)); XmlUtils.SetAttributeValue(node2, "AllowedInheritanceParents", databaseObjectType.AllowedInheritanceParents.Aggregate(string.Empty, (string r, DatabaseObjectType d) => (r.Length != 0) ? (r + "," + d.Name) : d.Name)); XmlUtils.SetAttributeValue(node2, "NestedValueType", (databaseObjectType.NestedValueType != null) ? databaseObjectType.NestedValueType.Name : string.Empty); } List <Type> list = new List <Type>(); database.FindUsedValueTypes(list); List <Assembly> list2 = new List <Assembly>(); foreach (Type item in list) { if (!list2.Contains(item.GetTypeInfo().Assembly)) { list2.Add(item.GetTypeInfo().Assembly); } } list2.Sort((Assembly a1, Assembly a2) => string.CompareOrdinal(a1.FullName, a2.FullName)); XElement parentNode2 = XmlUtils.AddElement(node, "Assemblies"); foreach (Assembly item2 in list2) { XmlUtils.SetAttributeValue(XmlUtils.AddElement(parentNode2, "Assembly"), "Name", item2.GetName().Name); } XElement node3 = XmlUtils.AddElement(node, "DatabaseObjects"); XmlUtils.SetAttributeValue(node3, "RootGuid", database.Root.Guid); SaveDatabaseObjectsList(node3, database.Root.GetExplicitNestingChildren(null, directChildrenOnly: true)); }
public void Save(XElement node) { foreach (KeyValuePair <string, object> item in m_dictionary) { ValuesDictionary valuesDictionary = item.Value as ValuesDictionary; if (valuesDictionary != null) { XElement node2 = XmlUtils.AddElement(node, "Values"); XmlUtils.SetAttributeValue(node2, "Name", item.Key); valuesDictionary.Save(node2); } else { XElement node3 = XmlUtils.AddElement(node, "Value"); XmlUtils.SetAttributeValue(node3, "Name", item.Key); XmlUtils.SetAttributeValue(node3, "Type", TypeCache.GetShortTypeName(item.Value.GetType().FullName)); XmlUtils.SetAttributeValue(node3, "Value", item.Value); } } }