public bool Populate(int seriesID, XmlNode node, TvDBImageNodeType nodeType) { try { this.SeriesID = seriesID; if (nodeType == TvDBImageNodeType.Series) SeasonNumber = null; else SeasonNumber = int.Parse(node["Season"].InnerText); Id = int.Parse(node["id"].InnerText); BannerPath = node["BannerPath"].InnerText; BannerType = node["BannerType"].InnerText; BannerType2 = node["BannerType2"].InnerText; Language = node["Language"].InnerText; return true; } catch (Exception ex) { logger.Error( ex,"Error in TvDB_ImageWideBanner.Populate: " + ex.ToString()); return false; } }
public bool Populate(int seriesID, XmlNode node, TvDBImageNodeType nodeType) { try { this.SeriesID = seriesID; if (nodeType == TvDBImageNodeType.Series) { SeasonNumber = null; } else { SeasonNumber = int.Parse(node["Season"].InnerText); } Id = int.Parse(node["id"].InnerText); BannerPath = node["BannerPath"].InnerText; BannerType = node["BannerType"].InnerText; BannerType2 = node["BannerType2"].InnerText; Language = node["Language"].InnerText; return(true); } catch (Exception ex) { logger.Error(ex, "Error in TvDB_ImageWideBanner.Populate: " + ex.ToString()); return(false); } }
public static bool Populate(this TvDB_ImagePoster poster, int seriesID, XmlNode node, TvDBImageNodeType nodeType) { try { poster.SeriesID = seriesID; if (nodeType == TvDBImageNodeType.Series) { poster.SeasonNumber = null; } else { poster.SeasonNumber = Int32.Parse(node["Season"].InnerText); } poster.Id = Int32.Parse(node["id"].InnerText); poster.BannerPath = node["BannerPath"].InnerText; poster.BannerType = node["BannerType"].InnerText; poster.BannerType2 = node["BannerType2"].InnerText; poster.Language = node["Language"].InnerText; return(true); } catch (Exception ex) { logger.Error(ex, "Error in TvDB_ImagePoster.Populate: " + ex.ToString()); return(false); } }
private List <object> ParseBanners(int seriesID, XmlDocument xmlDoc) { List <object> banners = new List <object>(); try { XmlNodeList bannerItems = xmlDoc["Banners"].GetElementsByTagName("Banner"); //BaseConfig.MyAnimeLog.Write("Found {0} banner nodes", bannerItems.Count); if (bannerItems.Count <= 0) { return(banners); } // banner types // series = wide banner // fanart = fanart // poster = filmstrip poster/dvd cover List <int> validFanartIDs = new List <int>(); List <int> validPosterIDs = new List <int>(); List <int> validBannerIDs = new List <int>(); foreach (XmlNode node in bannerItems) { JMMImageType imageType = JMMImageType.TvDB_Cover; string bannerType = node["BannerType"].InnerText.Trim().ToUpper(); string bannerType2 = node["BannerType2"].InnerText.Trim().ToUpper(); if (bannerType == "FANART") { imageType = JMMImageType.TvDB_FanArt; } else if (bannerType == "POSTER") { imageType = JMMImageType.TvDB_Cover; } else if (bannerType == "SEASON") { if (bannerType2 == "SEASON") { imageType = JMMImageType.TvDB_Cover; } else { imageType = JMMImageType.TvDB_Banner; } } else if (bannerType == "SERIES") { if (bannerType2 == "SEASONWIDE" || bannerType2 == "GRAPHICAL" || bannerType2 == "TEXT" || bannerType2 == "BLANK") { imageType = JMMImageType.TvDB_Banner; } else { imageType = JMMImageType.TvDB_Cover; } } if (imageType == JMMImageType.TvDB_FanArt) { int id = int.Parse(node["id"].InnerText); TvDB_ImageFanart img = RepoFactory.TvDB_ImageFanart.GetByTvDBID(id); if (img == null) { img = new TvDB_ImageFanart(); img.Enabled = 1; } img.Populate(seriesID, node); RepoFactory.TvDB_ImageFanart.Save(img); banners.Add(img); validFanartIDs.Add(id); } if (imageType == JMMImageType.TvDB_Banner) { int id = int.Parse(node["id"].InnerText); TvDB_ImageWideBanner img = RepoFactory.TvDB_ImageWideBanner.GetByTvDBID(id); if (img == null) { img = new TvDB_ImageWideBanner(); img.Enabled = 1; } img.Populate(seriesID, node, TvDBImageNodeType.Series); RepoFactory.TvDB_ImageWideBanner.Save(img); banners.Add(img); validBannerIDs.Add(id); } if (imageType == JMMImageType.TvDB_Cover) { int id = int.Parse(node["id"].InnerText); TvDB_ImagePoster img = RepoFactory.TvDB_ImagePoster.GetByTvDBID(id); if (img == null) { img = new TvDB_ImagePoster(); img.Enabled = 1; } TvDBImageNodeType nodeType = TvDBImageNodeType.Series; if (bannerType == "SEASON") { nodeType = TvDBImageNodeType.Season; } img.Populate(seriesID, node, nodeType); RepoFactory.TvDB_ImagePoster.Save(img); banners.Add(img); validPosterIDs.Add(id); } } // delete any banners from the database which are no longer valid foreach (TvDB_ImageFanart img in RepoFactory.TvDB_ImageFanart.GetBySeriesID(seriesID)) { if (!validFanartIDs.Contains(img.Id)) { RepoFactory.TvDB_ImageFanart.Delete(img.TvDB_ImageFanartID); } } foreach (TvDB_ImagePoster img in RepoFactory.TvDB_ImagePoster.GetBySeriesID(seriesID)) { if (!validPosterIDs.Contains(img.Id)) { RepoFactory.TvDB_ImagePoster.Delete(img.TvDB_ImagePosterID); } } foreach (TvDB_ImageWideBanner img in RepoFactory.TvDB_ImageWideBanner.GetBySeriesID(seriesID)) { if (!validBannerIDs.Contains(img.Id)) { RepoFactory.TvDB_ImageWideBanner.Delete(img.TvDB_ImageWideBannerID); } } } catch (Exception ex) { logger.Error(ex, "Error in ParseBanners: " + ex.ToString()); } return(banners); }