public static CL_AniDB_Anime_DefaultImage ToClient(this AniDB_Anime_DefaultImage defaultImage, ISessionWrapper session) { ImageEntityType imgType = (ImageEntityType)defaultImage.ImageParentType; IImageEntity parentImage = null; switch (imgType) { case ImageEntityType.TvDB_Banner: parentImage = RepoFactory.TvDB_ImageWideBanner.GetByID(session, defaultImage.ImageParentID); break; case ImageEntityType.TvDB_Cover: parentImage = RepoFactory.TvDB_ImagePoster.GetByID(session, defaultImage.ImageParentID); break; case ImageEntityType.TvDB_FanArt: parentImage = RepoFactory.TvDB_ImageFanart.GetByID(session, defaultImage.ImageParentID); break; case ImageEntityType.MovieDB_Poster: parentImage = RepoFactory.MovieDB_Poster.GetByID(session, defaultImage.ImageParentID); break; case ImageEntityType.MovieDB_FanArt: parentImage = RepoFactory.MovieDB_Fanart.GetByID(session, defaultImage.ImageParentID); break; } return(defaultImage.ToClient(parentImage)); }
protected override byte[] ExecuteResult() { IImageEntity image = null; switch (Type) { case SearchItemOfType.Product: image = this.Repository.GetById <Product>(Id); break; case SearchItemOfType.Store: image = this.Repository.GetById <Store>(Id); break; case SearchItemOfType.User: image = this.Repository.GetById <User>(Id); break; ////ncrunch: no coverage start default: return(null); ////ncrunch: no coverage end } return(image.Image); }
public Dictionary <int, DefaultAnimeImages> GetDefaultImagesByAnime(IEnumerable <int> animeIds) { if (animeIds == null) { throw new ArgumentNullException(nameof(animeIds)); } var defImagesByAnime = new Dictionary <int, DefaultAnimeImages>(); Dictionary <int, List <AniDB_Anime_DefaultImage> > defs = Repo.Instance.AniDB_Anime_DefaultImage.GetByAnimeIDs(animeIds); Dictionary <ImageEntityType, List <AniDB_Anime_DefaultImage> > allimages = defs.Values.SelectMany(a => a).GroupBy(a => (ImageEntityType)a.ImageParentType).ToDictionary(a => a.Key, a => a.ToList()); Dictionary <ImageEntityType, Dictionary <int, IImageEntity> > allreferences = new Dictionary <ImageEntityType, Dictionary <int, IImageEntity> >(); allreferences.Add(ImageEntityType.TvDB_Banner, Repo.Instance.TvDB_ImageWideBanner.GetMany(allimages[ImageEntityType.TvDB_Banner].Select(a => a.ImageParentID)).ToDictionary(a => a.TvDB_ImageWideBannerID, a => (IImageEntity)a)); allreferences.Add(ImageEntityType.TvDB_Cover, Repo.Instance.TvDB_ImagePoster.GetMany(allimages[ImageEntityType.TvDB_Cover].Select(a => a.ImageParentID)).ToDictionary(a => a.TvDB_ImagePosterID, a => (IImageEntity)a)); allreferences.Add(ImageEntityType.TvDB_FanArt, Repo.Instance.TvDB_ImageFanart.GetMany(allimages[ImageEntityType.TvDB_FanArt].Select(a => a.ImageParentID)).ToDictionary(a => a.TvDB_ImageFanartID, a => (IImageEntity)a)); allreferences.Add(ImageEntityType.MovieDB_Poster, Repo.Instance.MovieDB_Poster.GetMany(allimages[ImageEntityType.MovieDB_Poster].Select(a => a.ImageParentID)).ToDictionary(a => a.MovieDB_PosterID, a => (IImageEntity)a)); allreferences.Add(ImageEntityType.MovieDB_FanArt, Repo.Instance.MovieDB_Fanart.GetMany(allimages[ImageEntityType.MovieDB_FanArt].Select(a => a.ImageParentID)).ToDictionary(a => a.MovieDB_FanartID, a => (IImageEntity)a)); foreach (int aid in defs.Keys) { foreach (AniDB_Anime_DefaultImage imag in defs[aid]) { IImageEntity parentImage = allreferences[(ImageEntityType)imag.ImageParentType].FirstOrDefault(a => a.Key == imag.ImageParentID).Value; if (parentImage != null) { DefaultAnimeImage defImage = new DefaultAnimeImage(imag, parentImage); if (!defImagesByAnime.TryGetValue(imag.AnimeID, out DefaultAnimeImages defImages)) { defImages = new DefaultAnimeImages { AnimeID = imag.AnimeID }; defImagesByAnime.Add(defImages.AnimeID, defImages); } switch (defImage.AniDBImageSizeType) { case ImageSizeType.Poster: defImages.Poster = defImage; break; case ImageSizeType.WideBanner: defImages.WideBanner = defImage; break; case ImageSizeType.Fanart: defImages.Fanart = defImage; break; } } } } return(defImagesByAnime); }
public DefaultAnimeImage(AniDB_Anime_DefaultImage aniDbImage, IImageEntity parentImage) { if (aniDbImage == null) { throw new ArgumentNullException(nameof(aniDbImage)); } if (parentImage == null) { throw new ArgumentNullException(nameof(parentImage)); } AniDBImage = aniDbImage; _parentImage = parentImage; }
public static CL_AniDB_Anime_DefaultImage ToClient(this AniDB_Anime_DefaultImage defaultimage, IImageEntity parentImage) { CL_AniDB_Anime_DefaultImage contract = new CL_AniDB_Anime_DefaultImage { AniDB_Anime_DefaultImageID = defaultimage.AniDB_Anime_DefaultImageID, AnimeID = defaultimage.AnimeID, ImageParentID = defaultimage.ImageParentID, ImageParentType = defaultimage.ImageParentType, ImageType = defaultimage.ImageType }; JMMImageType imgType = (JMMImageType)defaultimage.ImageParentType; switch (imgType) { case JMMImageType.TvDB_Banner: contract.TVWideBanner = (parentImage as TvDB_ImageWideBanner); break; case JMMImageType.TvDB_Cover: contract.TVPoster = (parentImage as TvDB_ImagePoster); break; case JMMImageType.TvDB_FanArt: contract.TVFanart = (parentImage as TvDB_ImageFanart); break; case JMMImageType.MovieDB_Poster: contract.MoviePoster = (parentImage as MovieDB_Poster); break; case JMMImageType.MovieDB_FanArt: contract.MovieFanart = (parentImage as MovieDB_Fanart); break; case JMMImageType.Trakt_Fanart: contract.TraktFanart = (parentImage as Trakt_ImageFanart); break; case JMMImageType.Trakt_Poster: contract.TraktPoster = (parentImage as Trakt_ImagePoster); break; } return(contract); }
public Contract_AniDB_Anime_DefaultImage ToContract(IImageEntity parentImage) { var contract = new Contract_AniDB_Anime_DefaultImage { AniDB_Anime_DefaultImageID = AniDB_Anime_DefaultImageID, AnimeID = AnimeID, ImageParentID = ImageParentID, ImageParentType = ImageParentType, ImageType = ImageType }; JMMImageType imgType = (JMMImageType)ImageParentType; switch (imgType) { case JMMImageType.TvDB_Banner: contract.TVWideBanner = (parentImage as TvDB_ImageWideBanner)?.ToContract(); break; case JMMImageType.TvDB_Cover: contract.TVPoster = (parentImage as TvDB_ImagePoster)?.ToContract(); break; case JMMImageType.TvDB_FanArt: contract.TVFanart = (parentImage as TvDB_ImageFanart)?.ToContract(); break; case JMMImageType.MovieDB_Poster: contract.MoviePoster = (parentImage as MovieDB_Poster)?.ToContract(); break; case JMMImageType.MovieDB_FanArt: contract.MovieFanart = (parentImage as MovieDB_Fanart)?.ToContract(); break; case JMMImageType.Trakt_Fanart: contract.TraktFanart = (parentImage as Trakt_ImageFanart)?.ToContract(); break; case JMMImageType.Trakt_Poster: contract.TraktPoster = (parentImage as Trakt_ImagePoster)?.ToContract(); break; } return(contract); }
public Contract_AniDB_Anime_DefaultImage ToContract(IImageEntity parentImage) { var contract = new Contract_AniDB_Anime_DefaultImage { AniDB_Anime_DefaultImageID = AniDB_Anime_DefaultImageID, AnimeID = AnimeID, ImageParentID = ImageParentID, ImageParentType = ImageParentType, ImageType = ImageType }; JMMImageType imgType = (JMMImageType)ImageParentType; switch (imgType) { case JMMImageType.TvDB_Banner: contract.TVWideBanner = (parentImage as TvDB_ImageWideBanner)?.ToContract(); break; case JMMImageType.TvDB_Cover: contract.TVPoster = (parentImage as TvDB_ImagePoster)?.ToContract(); break; case JMMImageType.TvDB_FanArt: contract.TVFanart = (parentImage as TvDB_ImageFanart)?.ToContract(); break; case JMMImageType.MovieDB_Poster: contract.MoviePoster = (parentImage as MovieDB_Poster)?.ToContract(); break; case JMMImageType.MovieDB_FanArt: contract.MovieFanart = (parentImage as MovieDB_Fanart)?.ToContract(); break; case JMMImageType.Trakt_Fanart: contract.TraktFanart = (parentImage as Trakt_ImageFanart)?.ToContract(); break; case JMMImageType.Trakt_Poster: contract.TraktPoster = (parentImage as Trakt_ImagePoster)?.ToContract(); break; } return contract; }
public Contract_AniDB_Anime_DefaultImage ToContract(ISessionWrapper session) { JMMImageType imgType = (JMMImageType)ImageParentType; IImageEntity parentImage = null; switch (imgType) { case JMMImageType.TvDB_Banner: parentImage = RepoFactory.TvDB_ImageWideBanner.GetByID(session, ImageParentID); break; case JMMImageType.TvDB_Cover: parentImage = RepoFactory.TvDB_ImagePoster.GetByID(session, ImageParentID); break; case JMMImageType.TvDB_FanArt: parentImage = RepoFactory.TvDB_ImageFanart.GetByID(session, ImageParentID); break; case JMMImageType.MovieDB_Poster: parentImage = RepoFactory.MovieDB_Poster.GetByID(session, ImageParentID); break; case JMMImageType.MovieDB_FanArt: parentImage = RepoFactory.MovieDB_Fanart.GetByID(session, ImageParentID); break; case JMMImageType.Trakt_Fanart: parentImage = RepoFactory.Trakt_ImageFanart.GetByID(session, ImageParentID); break; case JMMImageType.Trakt_Poster: parentImage = RepoFactory.Trakt_ImagePoster.GetByID(session, ImageParentID); break; } return(ToContract(parentImage)); }
public Dictionary <int, DefaultAnimeImages> GetDefaultImagesByAnime(ISessionWrapper session, int[] animeIds) { if (session == null) { throw new ArgumentNullException("session"); } if (animeIds == null) { throw new ArgumentNullException("animeIds"); } var defImagesByAnime = new Dictionary <int, DefaultAnimeImages>(); if (animeIds.Length == 0) { return(defImagesByAnime); } lock (globalDBLock) { // TODO: Determine if joining on the correct columns var results = session.CreateSQLQuery(@" SELECT {defImg.*}, {tvWide.*}, {tvPoster.*}, {tvFanart.*}, {movPoster.*}, {movFanart.*} FROM AniDB_Anime_DefaultImage defImg LEFT OUTER JOIN TvDB_ImageWideBanner AS tvWide ON tvWide.TvDB_ImageWideBannerID = defImg.ImageParentID AND defImg.ImageParentType = :tvdbBannerType LEFT OUTER JOIN TvDB_ImagePoster AS tvPoster ON tvPoster.TvDB_ImagePosterID = defImg.ImageParentID AND defImg.ImageParentType = :tvdbCoverType LEFT OUTER JOIN TvDB_ImageFanart AS tvFanart ON tvFanart.TvDB_ImageFanartID = defImg.ImageParentID AND defImg.ImageParentType = :tvdbFanartType LEFT OUTER JOIN MovieDB_Poster AS movPoster ON movPoster.MovieDB_PosterID = defImg.ImageParentID AND defImg.ImageParentType = :movdbPosterType LEFT OUTER JOIN MovieDB_Fanart AS movFanart ON movFanart.MovieDB_FanartID = defImg.ImageParentID AND defImg.ImageParentType = :movdbFanartType WHERE defImg.AnimeID IN (:animeIds) AND defImg.ImageParentType IN (:tvdbBannerType, :tvdbCoverType, :tvdbFanartType, :movdbPosterType, :movdbFanartType)") .AddEntity("defImg", typeof(AniDB_Anime_DefaultImage)) .AddEntity("tvWide", typeof(TvDB_ImageWideBanner)) .AddEntity("tvPoster", typeof(TvDB_ImagePoster)) .AddEntity("tvFanart", typeof(TvDB_ImageFanart)) .AddEntity("movPoster", typeof(MovieDB_Poster)) .AddEntity("movFanart", typeof(MovieDB_Fanart)) .SetParameterList("animeIds", animeIds) .SetInt32("tvdbBannerType", (int)ImageEntityType.TvDB_Banner) .SetInt32("tvdbCoverType", (int)ImageEntityType.TvDB_Cover) .SetInt32("tvdbFanartType", (int)ImageEntityType.TvDB_FanArt) .SetInt32("movdbPosterType", (int)ImageEntityType.MovieDB_Poster) .SetInt32("movdbFanartType", (int)ImageEntityType.MovieDB_FanArt) .List <object[]>(); foreach (object[] result in results) { var aniDbDefImage = (AniDB_Anime_DefaultImage)result[0]; IImageEntity parentImage = null; switch ((ImageEntityType)aniDbDefImage.ImageParentType) { case ImageEntityType.TvDB_Banner: parentImage = (IImageEntity)result[1]; break; case ImageEntityType.TvDB_Cover: parentImage = (IImageEntity)result[2]; break; case ImageEntityType.TvDB_FanArt: parentImage = (IImageEntity)result[3]; break; case ImageEntityType.MovieDB_Poster: parentImage = (IImageEntity)result[4]; break; case ImageEntityType.MovieDB_FanArt: parentImage = (IImageEntity)result[5]; break; } if (parentImage == null) { continue; } DefaultAnimeImage defImage = new DefaultAnimeImage(aniDbDefImage, parentImage); if (!defImagesByAnime.TryGetValue(aniDbDefImage.AnimeID, out DefaultAnimeImages defImages)) { defImages = new DefaultAnimeImages { AnimeID = aniDbDefImage.AnimeID }; defImagesByAnime.Add(defImages.AnimeID, defImages); } switch (defImage.AniDBImageSizeType) { case ImageSizeType.Poster: defImages.Poster = defImage; break; case ImageSizeType.WideBanner: defImages.WideBanner = defImage; break; case ImageSizeType.Fanart: defImages.Fanart = defImage; break; } } } return(defImagesByAnime); }