/// <summary> /// Reads a HT xml file and returns a HattrickBase object /// </summary> /// <param name="xmlStream">Xml file content</param> /// <param name="fileType">HT file type to read</param> /// <returns>HattrickBase object loaded with readed data</returns> public HTEntities.HattrickBase ReadFile(Stream xmlStream, FileType fileType) { try { HTEntities.HattrickBase hattrickData = null; XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(xmlStream); switch (fileType) { case FileType.Achievements: hattrickData = new Parsers.AchievementsParser().ParseXmlDocument(xmlDocument); break; case FileType.ArenaDetails: hattrickData = new Parsers.ArenaDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.Club: hattrickData = new Parsers.ClubParser().ParseXmlDocument(xmlDocument); break; case FileType.Economy: hattrickData = new Parsers.EconomyParser().ParseXmlDocument(xmlDocument); break; case FileType.Servers: hattrickData = new Parsers.ServersParser().ParseXmlDocument(xmlDocument); break; case FileType.LeagueDetails: hattrickData = new Parsers.LeagueDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.LeagueFixtures: hattrickData = new Parsers.LeagueFixturesParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchLineup: hattrickData = new Parsers.MatchLineupParser().ParseXmlDocument(xmlDocument); break; case FileType.Matches: hattrickData = new Parsers.MatchesParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchesArchive: hattrickData = new Parsers.MatchesArchiveParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchDetails: hattrickData = new Parsers.MatchDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.Players: hattrickData = new Parsers.PlayersParser().ParseXmlDocument(xmlDocument); break; case FileType.InternalPlayers: hattrickData = new Parsers.PlayerInternalsParser().ParseXmlDocument(xmlDocument); break; case FileType.TeamDetails: hattrickData = new Parsers.TeamDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.TransfersPlayer: hattrickData = new Parsers.TransfersPlayerParser().ParseXmlDocument(xmlDocument); break; case FileType.WorldDetails: hattrickData = new Parsers.WorldDetailsParser().ParseXmlDocument(xmlDocument); break; default: throw new NotImplementedException(); } xmlStream.Close(); xmlStream.Dispose(); return(hattrickData); } catch (Exception ex) { throw ex; } }
/// <summary> /// Reads a HT xml file and returns a HattrickBase object /// </summary> /// <param name="xmlStream">Xml file content</param> /// <param name="fileType">HT file type to read</param> /// <returns>HattrickBase object loaded with readed data</returns> public HTEntities.HattrickBase ReadFile(Stream xmlStream, FileType fileType) { try { HTEntities.HattrickBase hattrickData = null; XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load(xmlStream); switch (fileType) { case FileType.Achievements: hattrickData = new Parsers.AchievementsParser().ParseXmlDocument(xmlDocument); break; case FileType.ArenaDetails: hattrickData = new Parsers.ArenaDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.Club: hattrickData = new Parsers.ClubParser().ParseXmlDocument(xmlDocument); break; case FileType.Economy: hattrickData = new Parsers.EconomyParser().ParseXmlDocument(xmlDocument); break; case FileType.Servers: hattrickData = new Parsers.ServersParser().ParseXmlDocument(xmlDocument); break; case FileType.LeagueDetails: hattrickData = new Parsers.LeagueDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.LeagueFixtures: hattrickData = new Parsers.LeagueFixturesParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchLineup: hattrickData = new Parsers.MatchLineupParser().ParseXmlDocument(xmlDocument); break; case FileType.Matches: hattrickData = new Parsers.MatchesParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchesArchive: hattrickData = new Parsers.MatchesArchiveParser().ParseXmlDocument(xmlDocument); break; case FileType.MatchDetails: hattrickData = new Parsers.MatchDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.Players: hattrickData = new Parsers.PlayersParser().ParseXmlDocument(xmlDocument); break; case FileType.InternalPlayers: hattrickData = new Parsers.PlayerInternalsParser().ParseXmlDocument(xmlDocument); break; case FileType.TeamDetails: hattrickData = new Parsers.TeamDetailsParser().ParseXmlDocument(xmlDocument); break; case FileType.TransfersPlayer: hattrickData = new Parsers.TransfersPlayerParser().ParseXmlDocument(xmlDocument); break; case FileType.WorldDetails: hattrickData = new Parsers.WorldDetailsParser().ParseXmlDocument(xmlDocument); break; default: throw new NotImplementedException(); } xmlStream.Close(); xmlStream.Dispose(); return hattrickData; } catch (Exception ex) { throw ex; } }