public static TheTvDbCacheSerializer Load(FileInfo cacheFile, FileInfo loadFrom = null) { try { var fileToUse = loadFrom ?? cacheFile; if (fileToUse.Exists) { var theTvDbCache = Deserialize(fileToUse); theTvDbCache.IsSaved = true; theTvDbCache.LoadOk = true; theTvDbCache.LoadResult = string.Empty; return theTvDbCache; } var cache = new TheTvDbCacheSerializer(cacheFile) { LoadOk = true, LoadResult = string.Empty, IsSaved = false, LastUpdated = null, Series = new List<TheTvDbSeries>() }; cache.Save(0); return cache; } catch (Exception e) { return new TheTvDbCacheSerializer { LoadOk = false, LoadResult = e.Message }; } }
private static void Serialize(TheTvDbCacheSerializer theTvDbCache, FileInfo file) { var serializer = new XmlSerializer(typeof(TheTvDbCacheSerializer)); using (var fileStream = new FileStream(file.FullName, FileMode.Create, FileAccess.ReadWrite)) { serializer.Serialize(fileStream, theTvDbCache); } }