private HMEntities.Settings.HattrickSettings ProcessUserSettingsFile(XmlDocument xmlDocument) { try { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); if (xmlDocument.DocumentElement.ChildNodes != null) { foreach (XmlNode xmlNodeRoot in xmlDocument.DocumentElement.ChildNodes) { switch (xmlNodeRoot.Name) { case Tags.CategoryList: settings.playerCategoryListField = ParseSettingCategoryListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.categoryVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.PositionList: settings.playerPositionsListField = ParseSettingPositionsListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.positionsVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.ColumnTables: settings.tableColumsListField = ParseSettingColumnListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.tableColumsVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.LastFileList: if (xmlNodeRoot.ChildNodes != null) { settings.lastFileListField = ParseSettingLastFilesNode(xmlNodeRoot); } break; } } } return(settings); } catch (Exception ex) { throw ex; } }
/// <summary> /// Reads UserSettings xml file /// </summary> /// <param name="xmlContent">Xml content as a string</param> /// <returns>UserSettings object from file</returns> public HMEntities.Settings.HattrickSettings ReadUserSettingsFile(String xmlContent) { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); try { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xmlContent); settings = ProcessUserSettingsFile(xmlDocument); settings.DefaultsRestored = true; return(settings); } catch (Exception ex) { throw ex; } }
/// <summary> /// Reads the UserSettings file and return it's content /// </summary> /// <returns>HattrickSettings for the selected user</returns> public HMEntities.Settings.HattrickSettings ReadUserSettingsFile(HM.Entities.HattrickManager.UserProfiles.User selectedUser) { try { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); string path = System.IO.Path.Combine(selectedUser.dataFolderField, selectedUser.teamIdField.ToString()); path = System.IO.Path.Combine(path, FolderNames.UserSettings); string fileName = Path.Combine(path, FileNames.UserSettings); if (File.Exists(fileName)) { settings = dataManager.ReadUserSettingsFile(GetFileStream(fileName)); } else { settings = dataManager.ReadUserSettingsFile(HM.Resources.GenericFunctions.GetDefaultSettings(HM.Resources.SettingTypes.All)); } return(settings); } catch (Exception ex) { throw ex; } }
private void WriteUserSettingsFile(HMEntities.UserProfiles.User hattrickUser) { try { HMEntities.Settings.HattrickSettings hattrickManagerSettings = hattrickUser.applicationSettingsField; XmlDocument xmlDocument = new XmlDocument(); XmlElement xmlElementRoot = xmlDocument.CreateElement(Tags.HattrickManagerSettings); hattrickManagerSettings.savedDateField = DateTime.Now; xmlElementRoot.AppendChild(xmlDocument.CreateElement(Tags.SavedDate)).InnerText = hattrickManagerSettings.savedDateField.ToString(General.DateTimeFormat); // Categories XmlElement xmlElementCategoryList = xmlDocument.CreateElement(Tags.CategoryList); xmlElementCategoryList.SetAttribute(Tags.Version, hattrickManagerSettings.categoryVersionIDField.ToString()); foreach (HMEntities.Settings.Category currentCategory in hattrickManagerSettings.playerCategoryListField) { XmlElement xmlElementCategoryName = xmlDocument.CreateElement(Tags.CategoryName); XmlElement xmlElementCategoryColour = xmlDocument.CreateElement(Tags.CategoryColour); XmlElement xmlElementCategoryChecked = xmlDocument.CreateElement(Tags.CategoryChecked); XmlElement xmlElementCategoryProtected = xmlDocument.CreateElement(Tags.CategoryProtected); xmlElementCategoryName.InnerText = currentCategory.categoryNameField; xmlElementCategoryColour.InnerText = currentCategory.categoryColourField.ToString(); xmlElementCategoryChecked.InnerText = currentCategory.categoryCheckedField.ToString(); xmlElementCategoryProtected.InnerText = currentCategory.categoryProtectedField.ToString(); XmlElement xmlCategory = xmlDocument.CreateElement(Tags.Category); xmlCategory.SetAttribute(Tags.CategoryID, currentCategory.categoryIdField.ToString()); xmlCategory.AppendChild(xmlElementCategoryName); xmlCategory.AppendChild(xmlElementCategoryColour); xmlCategory.AppendChild(xmlElementCategoryChecked); xmlCategory.AppendChild(xmlElementCategoryProtected); xmlElementCategoryList.AppendChild(xmlCategory); } xmlElementRoot.AppendChild(xmlElementCategoryList); // Positions XmlElement xmlElementPositionList = xmlDocument.CreateElement(Tags.PositionList); xmlElementPositionList.SetAttribute(Tags.Version, hattrickManagerSettings.positionsVersionIDField.ToString()); foreach (HMEntities.Settings.Position currentPosition in hattrickManagerSettings.playerPositionsListField) { XmlElement xmlElementPositionWeights = xmlDocument.CreateElement(Tags.PositionWeightList); xmlElementPositionWeights.SetAttribute(Tags.PositionID, ((int)currentPosition.positionID).ToString()); foreach (HM.Resources.PlayerSkillTypes skill in currentPosition.positionWeights.Keys) { XmlElement xmlElementWeight = xmlDocument.CreateElement(Tags.PositionWeight); xmlElementWeight.SetAttribute(Tags.PositionWeightName, ((int)skill).ToString()); xmlElementWeight.InnerText = currentPosition.positionWeights[skill].ToString(); xmlElementPositionWeights.AppendChild(xmlElementWeight); } xmlElementPositionList.AppendChild(xmlElementPositionWeights); } xmlElementRoot.AppendChild(xmlElementPositionList); // Columns XmlElement xmlElementColumnTables = xmlDocument.CreateElement(Tags.ColumnTables); xmlElementColumnTables.SetAttribute(Tags.Version, hattrickManagerSettings.tableColumsVersionIDField.ToString()); foreach (HM.Resources.ColumnTables tblKey in hattrickManagerSettings.tableColumsListField.Keys) { List <HM.Entities.HattrickManager.Settings.Column> tablesColumns = hattrickManagerSettings.tableColumsListField[tblKey]; XmlElement xmlElementColumnList = xmlDocument.CreateElement(Tags.ColumnList); xmlElementColumnList.SetAttribute(Tags.ColumnTableID, ((int)tblKey).ToString()); foreach (HMEntities.Settings.Column currentColumn in tablesColumns) { XmlElement xmlElementColumnID = xmlDocument.CreateElement(Tags.ColumnID); XmlElement xmlElementColumnTitle = xmlDocument.CreateElement(Tags.ColumnTitle); XmlElement xmlElementColumnWidth = xmlDocument.CreateElement(Tags.ColumnWidth); XmlElement xmlElementColumnType = xmlDocument.CreateElement(Tags.ColumnDisplayType); XmlElement xmlElementColumnAlignment = xmlDocument.CreateElement(Tags.ColumnAlignment); XmlElement xmlElementColumnDisplay = xmlDocument.CreateElement(Tags.ColumnDisplay); XmlElement xmlElementColumnDisplayIndex = xmlDocument.CreateElement(Tags.ColumnDisplayIndex); XmlElement xmlElementColumnSorted = xmlDocument.CreateElement(Tags.ColumnSortColumn); xmlElementColumnID.InnerText = currentColumn.columnIDField.ToString(); xmlElementColumnTitle.InnerText = currentColumn.titleField; xmlElementColumnWidth.InnerText = currentColumn.widthField.ToString(); xmlElementColumnType.InnerText = ((int)currentColumn.displayTypeField).ToString(); xmlElementColumnAlignment.InnerText = ((int)currentColumn.alignmentField).ToString(); xmlElementColumnDisplay.InnerText = currentColumn.displayColumnField.ToString(); xmlElementColumnDisplayIndex.InnerText = currentColumn.displayIndex.ToString(); xmlElementColumnSorted.InnerText = currentColumn.sortedColumnField.ToString(); XmlElement xmlColumn = xmlDocument.CreateElement(Tags.Column); xmlColumn.AppendChild(xmlElementColumnID); xmlColumn.AppendChild(xmlElementColumnTitle); xmlColumn.AppendChild(xmlElementColumnWidth); xmlColumn.AppendChild(xmlElementColumnType); xmlColumn.AppendChild(xmlElementColumnAlignment); xmlColumn.AppendChild(xmlElementColumnDisplay); xmlColumn.AppendChild(xmlElementColumnDisplayIndex); xmlColumn.AppendChild(xmlElementColumnSorted); xmlElementColumnList.AppendChild(xmlColumn); } xmlElementColumnTables.AppendChild(xmlElementColumnList); } xmlElementRoot.AppendChild(xmlElementColumnTables); // Last Files XmlElement xmlElementLastFilesList = xmlDocument.CreateElement(Tags.LastFileList); foreach (HMEntities.Settings.LastFiles currentFile in hattrickManagerSettings.lastFileListField) { XmlElement xmlElementFileName = xmlDocument.CreateElement(Tags.LastFileName); XmlElement xmlElementFileType = xmlDocument.CreateElement(Tags.LastFileType); XmlElement xmlElementFileDate = xmlDocument.CreateElement(Tags.LastFileDate); xmlElementFileName.InnerText = currentFile.fileNameField; xmlElementFileType.InnerText = ((int)currentFile.fileTypeField).ToString(); xmlElementFileDate.InnerText = currentFile.dateField; XmlElement xmlFile = xmlDocument.CreateElement(Tags.File); xmlFile.AppendChild(xmlElementFileName); xmlFile.AppendChild(xmlElementFileType); xmlFile.AppendChild(xmlElementFileDate); xmlElementLastFilesList.AppendChild(xmlFile); } xmlElementRoot.AppendChild(xmlElementLastFilesList); xmlDocument.AppendChild(xmlElementRoot); string path = System.IO.Path.Combine(hattrickUser.dataFolderField, hattrickUser.teamIdField.ToString()); path = System.IO.Path.Combine(path, FolderNames.UserSettings); string fileName = Path.Combine(path, FileNames.UserSettings); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } xmlDocument.Save(fileName); } catch (Exception ex) { throw ex; } }
/// <summary> /// Reads the UserSettings file and return it's content /// </summary> /// <returns>HattrickSettings for the selected user</returns> public HMEntities.Settings.HattrickSettings ReadUserSettingsFile(HM.Entities.HattrickManager.UserProfiles.User selectedUser) { try { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); string path = System.IO.Path.Combine(selectedUser.dataFolderField, selectedUser.teamIdField.ToString()); path = System.IO.Path.Combine(path, FolderNames.UserSettings); string fileName = Path.Combine(path, FileNames.UserSettings); if (File.Exists(fileName)) { settings = dataManager.ReadUserSettingsFile(GetFileStream(fileName)); } else { settings = dataManager.ReadUserSettingsFile(HM.Resources.GenericFunctions.GetDefaultSettings(HM.Resources.SettingTypes.All)); } return (settings); } catch (Exception ex) { throw ex; } }
private HMEntities.Settings.HattrickSettings ProcessUserSettingsFile(XmlDocument xmlDocument) { try { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); if (xmlDocument.DocumentElement.ChildNodes != null) { foreach (XmlNode xmlNodeRoot in xmlDocument.DocumentElement.ChildNodes) { switch (xmlNodeRoot.Name) { case Tags.CategoryList: settings.playerCategoryListField = ParseSettingCategoryListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.categoryVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.PositionList: settings.playerPositionsListField = ParseSettingPositionsListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.positionsVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.ColumnTables: settings.tableColumsListField = ParseSettingColumnListNode(xmlNodeRoot); if (xmlNodeRoot.Attributes[Tags.Version] != null) { settings.tableColumsVersionIDField = Convert.ToInt32(xmlNodeRoot.Attributes[Tags.Version].InnerText); } break; case Tags.LastFileList: if (xmlNodeRoot.ChildNodes != null) { settings.lastFileListField = ParseSettingLastFilesNode(xmlNodeRoot); } break; } } } return (settings); } catch (Exception ex) { throw ex; } }
/// <summary> /// Reads UserSettings xml file /// </summary> /// <param name="xmlContent">Xml content as a string</param> /// <returns>UserSettings object from file</returns> public HMEntities.Settings.HattrickSettings ReadUserSettingsFile(String xmlContent) { HMEntities.Settings.HattrickSettings settings = new HMEntities.Settings.HattrickSettings(); try { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(xmlContent); settings = ProcessUserSettingsFile(xmlDocument); settings.DefaultsRestored = true; return (settings); } catch (Exception ex) { throw ex; } }