public ImageDownloadEventArgs(string status, ImageDownloadRequest req, ImageDownloadEventType eventType)
 {
     Status = status;
     Req = req;
     EventType = eventType;
     ImageType = Req.ImageType; ;
 }
Ejemplo n.º 2
0
 public ImageDownloadEventArgs(string status, ImageDownloadRequest req, ImageDownloadEventType eventType)
 {
     Status    = status;
     Req       = req;
     EventType = eventType;
     ImageType = Req.ImageType;;
 }
Ejemplo n.º 3
0
        public static ImageType GetSimpleTypeFromImageType(ImageEntityType type)
        {
            switch (type)
            {
            case ImageEntityType.TvDB_Cover:
            case ImageEntityType.MovieDB_Poster:
            case ImageEntityType.AniDB_Cover:
                return(ImageType.Poster);

            case ImageEntityType.TvDB_Banner:
                return(ImageType.Banner);

            case ImageEntityType.TvDB_Episode:
                return(ImageType.Thumb);

            case ImageEntityType.TvDB_FanArt:
            case ImageEntityType.MovieDB_FanArt:
                return(ImageType.Fanart);

            case ImageEntityType.AniDB_Character:
            case ImageEntityType.Character:
                return(ImageType.Character);

            case ImageEntityType.AniDB_Creator:
            case ImageEntityType.Staff:
                return(ImageType.Staff);

            case ImageEntityType.Static:
                return(ImageType.Static);

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
Ejemplo n.º 4
0
        public Image(int id, ImageEntityType type, bool preferred = false, bool disabled = false) : this(id.ToString(), type, preferred, disabled)
        {
            if (type == ImageEntityType.Static)
            {
                throw new ArgumentException("Static Resources do not use an integer ID");
            }

            var imagePath = GetImagePath(type, id);

            if (string.IsNullOrEmpty(imagePath))
            {
                RelativeFilepath = null;
                Width            = null;
                Height           = null;
            }
            else
            {
                var info = new MagickImageInfo(imagePath);
                RelativeFilepath = imagePath.Replace(ImageUtils.GetBaseImagesPath(), "").Replace("\\", "/");
                if (!RelativeFilepath.StartsWith("/"))
                {
                    RelativeFilepath = "/" + RelativeFilepath;
                }
                Width  = info.Width;
                Height = info.Height;
            }
        }
Ejemplo n.º 5
0
        public FanartContainer(ImageEntityType imageType, object poster)
        {
            ImageType    = imageType;
            FanartObject = poster;

            switch (ImageType)
            {
            case ImageEntityType.TvDB_FanArt:
                TvDB_ImageFanartVM tvFanart = FanartObject as TvDB_ImageFanartVM;
                IsImageEnabled    = tvFanart.IsImageEnabled;
                IsImageDisabled   = tvFanart.IsImageDisabled;
                IsImageDefault    = tvFanart.IsImageDefault;
                IsImageNotDefault = tvFanart.IsImageNotDefault;
                FanartSource      = "TvDB";
                break;

            case ImageEntityType.MovieDB_FanArt:
                MovieDB_FanartVM movieFanart = FanartObject as MovieDB_FanartVM;
                IsImageEnabled    = movieFanart.IsImageEnabled;
                IsImageDisabled   = movieFanart.IsImageDisabled;
                IsImageDefault    = movieFanart.IsImageDefault;
                IsImageNotDefault = movieFanart.IsImageNotDefault;
                FanartSource      = "MovieDB";
                break;

            case ImageEntityType.Trakt_Fanart:
                Trakt_ImageFanartVM traktFanart = FanartObject as Trakt_ImageFanartVM;
                IsImageEnabled    = traktFanart.IsImageEnabled;
                IsImageDisabled   = traktFanart.IsImageDisabled;
                IsImageDefault    = traktFanart.IsImageDefault;
                IsImageNotDefault = traktFanart.IsImageNotDefault;
                FanartSource      = "Trakt";
                break;
            }
        }
Ejemplo n.º 6
0
        public FanartContainer(ImageEntityType imageType, object poster)
        {
            ImageType = imageType;
            FanartObject = poster;

            switch (ImageType)
            {
                case ImageEntityType.TvDB_FanArt:
                    TvDB_ImageFanartVM tvFanart = FanartObject as TvDB_ImageFanartVM;
                    IsImageEnabled = tvFanart.Enabled == 1;
                    IsImageDefault = tvFanart.IsImageDefault;
                    FanartSource = "TvDB";
                    break;

                case ImageEntityType.MovieDB_FanArt:
                    MovieDB_FanartVM movieFanart = FanartObject as MovieDB_FanartVM;
                    IsImageEnabled = movieFanart.Enabled == 1;
                    IsImageDefault = movieFanart.IsImageDefault;
                    FanartSource = "MovieDB";
                    break;

                case ImageEntityType.Trakt_Fanart:
                    Trakt_ImageFanartVM traktFanart = FanartObject as Trakt_ImageFanartVM;
                    IsImageEnabled = traktFanart.Enabled == 1;
                    IsImageDefault = traktFanart.IsImageDefault;
                    FanartSource = "Trakt";
                    break;
            }
        }
Ejemplo n.º 7
0
        public VM_PosterContainer(ImageEntityType imageType, object poster)
        {
            ImageType    = imageType;
            PosterObject = poster;

            switch (ImageType)
            {
            case ImageEntityType.AniDB_Cover:
                VM_AniDB_Anime anime = (VM_AniDB_Anime)PosterObject;
                IsImageEnabled = anime.IsImageEnabled;
                IsImageDefault = anime.IsImageDefault;
                PosterSource   = "AniDB";
                break;

            case ImageEntityType.TvDB_Cover:
                VM_TvDB_ImagePoster tvPoster = (VM_TvDB_ImagePoster)PosterObject;
                IsImageEnabled = tvPoster.IsImageEnabled;
                IsImageDefault = tvPoster.IsImageDefault;
                PosterSource   = "TvDB";
                break;

            case ImageEntityType.MovieDB_Poster:
                VM_MovieDB_Poster moviePoster = (VM_MovieDB_Poster)PosterObject;
                IsImageEnabled = moviePoster.IsImageEnabled;
                IsImageDefault = moviePoster.IsImageDefault;
                PosterSource   = "MovieDB";
                break;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets the source and type from the ImageEntityTypeEnum
        /// </summary>
        /// <param name="source"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static string GetSourceAndTypeFromImageType(ImageEntityType type)
        {
            switch (type)
            {
            case ImageEntityType.AniDB_Cover:
                return("anidb/poster/");

            case ImageEntityType.Character:
                return("anidb/character/");

            case ImageEntityType.Staff:
                return("anidb/staff/");

            case ImageEntityType.TvDB_Cover:
                return("tvdb/poster");

            case ImageEntityType.TvDB_FanArt:
                return("tvdb/fanart/");

            case ImageEntityType.TvDB_Banner:
                return("tvdb/banner/");

            case ImageEntityType.TvDB_Episode:
                return("tvdb/thumb/");

            case ImageEntityType.MovieDB_Poster:
                return("moviedb/poster/");

            case ImageEntityType.MovieDB_FanArt:
                return("moviedb/fanart/");
            }

            return(null);
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        public static string GetSourceFromType(ImageEntityType type)
        {
            switch (type)
            {
            case ImageEntityType.AniDB_Cover:
            case ImageEntityType.AniDB_Character:
            case ImageEntityType.AniDB_Creator:
                return("AniDB");

            case ImageEntityType.TvDB_Banner:
            case ImageEntityType.TvDB_Cover:
            case ImageEntityType.TvDB_Episode:
            case ImageEntityType.TvDB_FanArt:
                return("TvDB");

            case ImageEntityType.MovieDB_FanArt:
            case ImageEntityType.MovieDB_Poster:
                return("MovieDB");

            case ImageEntityType.Character:
            case ImageEntityType.Staff:
                return("AniDB");

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
Ejemplo n.º 11
0
        public static string GetSimpleTypeFromImageType(ImageEntityType type)
        {
            switch (type)
            {
            case ImageEntityType.TvDB_Cover:
            case ImageEntityType.MovieDB_Poster:
            case ImageEntityType.AniDB_Cover:
                return("Poster");

            case ImageEntityType.TvDB_Banner:
                return("Banner");

            case ImageEntityType.TvDB_Episode:
                return("Thumb");

            case ImageEntityType.TvDB_FanArt:
            case ImageEntityType.MovieDB_FanArt:
                return("Fanart");

            case ImageEntityType.AniDB_Character:
            case ImageEntityType.Character:
                return("Character");

            case ImageEntityType.AniDB_Creator:
            case ImageEntityType.Staff:
                return("Staff");

            case ImageEntityType.Static:
                return("Shoko");

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
Ejemplo n.º 12
0
        public FanartContainer(ImageEntityType imageType, object poster)
        {
            ImageType    = imageType;
            FanartObject = poster;

            switch (ImageType)
            {
            case ImageEntityType.TvDB_FanArt:
                VM_TvDB_ImageFanart tvFanart = (VM_TvDB_ImageFanart)FanartObject;
                IsImageEnabled = tvFanart.Enabled == 1;
                IsImageDefault = tvFanart.IsImageDefault;
                FanartSource   = "TvDB";
                break;

            case ImageEntityType.MovieDB_FanArt:
                VM_MovieDB_Fanart movieFanart = (VM_MovieDB_Fanart)FanartObject;
                IsImageEnabled = movieFanart.Enabled == 1;
                IsImageDefault = movieFanart.IsImageDefault;
                FanartSource   = "MovieDB";
                break;

            case ImageEntityType.Trakt_Fanart:
                VM_Trakt_ImageFanart traktFanart = (VM_Trakt_ImageFanart)FanartObject;
                IsImageEnabled = traktFanart.Enabled == 1;
                IsImageDefault = traktFanart.IsImageDefault;
                FanartSource   = "Trakt";
                break;
            }
        }
Ejemplo n.º 13
0
        public Image(string id, ImageEntityType type, bool preferred = false, bool disabled = false)
        {
            ID     = id;
            Type   = GetSimpleTypeFromImageType(type);
            Source = GetSourceFromType(type);

            Preferred = preferred;
            Disabled  = disabled;
        }
        public CommandRequest_DownloadImage(int entityID, ImageEntityType entityType, bool forced)
        {
            EntityID      = entityID;
            EntityType    = (int)entityType;
            ForceDownload = forced;
            Priority      = (int)DefaultPriority;

            GenerateCommandID();
        }
Ejemplo n.º 15
0
 public Image(HttpContext ctx, int id, ImageEntityType type)
 {
     this.id           = id;
     this.type         = type.ToString();
     source            = GetSourceFromType(type);
     url               = APIHelper.ConstructImageLinkFromTypeAndId(ctx, (int)type, id);
     relative_filepath = GetImagePath(type, id).Replace(ImageUtils.GetBaseImagesPath(), "").Replace("\\", "/");
     if (!relative_filepath.StartsWith("/"))
     {
         relative_filepath = "/" + relative_filepath;
     }
 }
Ejemplo n.º 16
0
 public static byte[] GetImage(string entityID, ImageEntityType imageType, bool thumbNailOnly)
 {
     try
     {
         byte[] imageArray = JMMServerVM.Instance.imageClient.GetImage(entityID, (int)imageType, thumbNailOnly);
         return(imageArray);
     }
     catch (Exception ex)
     {
         BaseConfig.MyAnimeLog.Write(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 17
0
        public Image(int id, ImageEntityType type, bool preferred = false, bool disabled = false) : this(id.ToString(), type, preferred, disabled)
        {
            if (type == ImageEntityType.Static)
            {
                throw new ArgumentException("Static Resources do not use an integer ID");
            }

            RelativeFilepath = GetImagePath(type, id)?.Replace(ImageUtils.GetBaseImagesPath(), "")
                               .Replace("\\", "/");
            if (RelativeFilepath != null && !RelativeFilepath.StartsWith("/"))
            {
                RelativeFilepath = "/" + RelativeFilepath;
            }
        }
Ejemplo n.º 18
0
        public PosterContainer(ImageEntityType imageType, object poster)
        {
            ImageType    = imageType;
            PosterObject = poster;

            switch (ImageType)
            {
            case ImageEntityType.AniDB_Cover:
                AniDB_AnimeVM anime = PosterObject as AniDB_AnimeVM;
                IsImageEnabled    = anime.IsImageEnabled;
                IsImageDisabled   = anime.IsImageDisabled;
                IsImageDefault    = anime.IsImageDefault;
                IsImageNotDefault = anime.IsImageNotDefault;
                PosterSource      = "AniDB";
                break;

            case ImageEntityType.TvDB_Cover:
                TvDB_ImagePosterVM tvPoster = PosterObject as TvDB_ImagePosterVM;
                IsImageEnabled    = tvPoster.IsImageEnabled;
                IsImageDisabled   = tvPoster.IsImageDisabled;
                IsImageDefault    = tvPoster.IsImageDefault;
                IsImageNotDefault = tvPoster.IsImageNotDefault;
                PosterSource      = "TvDB";
                break;

            case ImageEntityType.MovieDB_Poster:
                MovieDB_PosterVM moviePoster = PosterObject as MovieDB_PosterVM;
                IsImageEnabled    = moviePoster.IsImageEnabled;
                IsImageDisabled   = moviePoster.IsImageDisabled;
                IsImageDefault    = moviePoster.IsImageDefault;
                IsImageNotDefault = moviePoster.IsImageNotDefault;
                PosterSource      = "MovieDB";
                break;

            case ImageEntityType.Trakt_Poster:
                Trakt_ImagePosterVM traktPoster = PosterObject as Trakt_ImagePosterVM;
                IsImageEnabled    = traktPoster.IsImageEnabled;
                IsImageDisabled   = traktPoster.IsImageDisabled;
                IsImageDefault    = traktPoster.IsImageDefault;
                IsImageNotDefault = traktPoster.IsImageNotDefault;
                PosterSource      = "Trakt";
                break;
            }
        }
Ejemplo n.º 19
0
        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
            };
            ImageEntityType imgType = (ImageEntityType)defaultimage.ImageParentType;

            switch (imgType)
            {
            case ImageEntityType.TvDB_Banner:
                contract.TVWideBanner = (parentImage as TvDB_ImageWideBanner);
                break;

            case ImageEntityType.TvDB_Cover:
                contract.TVPoster = (parentImage as TvDB_ImagePoster);
                break;

            case ImageEntityType.TvDB_FanArt:
                contract.TVFanart = (parentImage as TvDB_ImageFanart);
                break;

            case ImageEntityType.MovieDB_Poster:
                contract.MoviePoster = (parentImage as MovieDB_Poster);
                break;

            case ImageEntityType.MovieDB_FanArt:
                contract.MovieFanart = (parentImage as MovieDB_Fanart);
                break;
            }

            return(contract);
        }
Ejemplo n.º 20
0
        public PosterContainer(ImageEntityType imageType, object poster)
        {
            ImageType    = imageType;
            PosterObject = poster;

            switch (ImageType)
            {
            case ImageEntityType.AniDB_Cover:
                VM_AniDB_Anime anime = (VM_AniDB_Anime)PosterObject;
                IsImageEnabled = anime.ImageEnabled == 1;
                IsImageDefault = anime.IsImageDefault;
                PosterSource   = "AniDB";
                break;

            case ImageEntityType.TvDB_Cover:
                VM_TvDB_ImagePoster tvPoster = (VM_TvDB_ImagePoster)PosterObject;
                IsImageEnabled = tvPoster.Enabled == 1;
                IsImageDefault = tvPoster.IsImageDefault;
                PosterSource   = "TvDB";
                break;

            case ImageEntityType.MovieDB_Poster:
                VM_MovieDB_Poster moviePoster = (VM_MovieDB_Poster)PosterObject;
                IsImageEnabled = moviePoster.Enabled == 1;
                IsImageDefault = moviePoster.IsImageDefault;
                PosterSource   = "MovieDB";
                break;

                /*
                 * case ImageEntityType.Trakt_Poster:
                 * VM_Trakt_ImagePoster traktPoster = (VM_Trakt_ImagePoster)PosterObject;
                 * IsImageEnabled = traktPoster.Enabled == 1;
                 * IsImageDefault = traktPoster.IsImageDefault;
                 * PosterSource = "Trakt";
                 * break;*/
            }
        }
Ejemplo n.º 21
0
        public PosterContainer(ImageEntityType imageType, object poster)
        {
            ImageType = imageType;
            PosterObject = poster;

            switch (ImageType)
            {
                case ImageEntityType.AniDB_Cover:
                    AniDB_AnimeVM anime = PosterObject as AniDB_AnimeVM;
                    IsImageEnabled = anime.ImageEnabled == 1;
                    IsImageDefault = anime.IsImageDefault;
                    PosterSource = "AniDB";
                    break;

                case ImageEntityType.TvDB_Cover:
                    TvDB_ImagePosterVM tvPoster = PosterObject as TvDB_ImagePosterVM;
                    IsImageEnabled = tvPoster.Enabled == 1;
                    IsImageDefault = tvPoster.IsImageDefault;
                    PosterSource = "TvDB";
                    break;

                case ImageEntityType.MovieDB_Poster:
                    MovieDB_PosterVM moviePoster = PosterObject as MovieDB_PosterVM;
                    IsImageEnabled = moviePoster.Enabled == 1;
                    IsImageDefault = moviePoster.IsImageDefault;
                    PosterSource = "MovieDB";
                    break;

                case ImageEntityType.Trakt_Poster:
                    Trakt_ImagePosterVM traktPoster = PosterObject as Trakt_ImagePosterVM;
                    IsImageEnabled = traktPoster.Enabled == 1;
                    IsImageDefault = traktPoster.IsImageDefault;
                    PosterSource = "Trakt";
                    break;
            }
        }
Ejemplo n.º 22
0
 public static byte[] GetImage(string entityID, ImageEntityType imageType, bool thumbNailOnly)
 {
     try
     {
         byte[] imageArray = JMMServerVM.Instance.imageClient.GetImage(entityID, (int)imageType, thumbNailOnly);
         return imageArray;
     }
     catch (Exception ex)
     {
         BaseConfig.MyAnimeLog.Write(ex.ToString());
         return null;
     }
 }
Ejemplo n.º 23
0
        public static string GetImagePath(ImageEntityType type, int id)
        {
            string path;

            switch (type)
            {
            // 1
            case ImageEntityType.AniDB_Cover:
                SVR_AniDB_Anime anime = Repo.Instance.AniDB_Anime.GetByID(id);
                if (anime == null)
                {
                    return(null);
                }
                path = anime.PosterPath;
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            // 4
            case ImageEntityType.TvDB_Banner:
                TvDB_ImageWideBanner wideBanner = Repo.Instance.TvDB_ImageWideBanner.GetByID(id);
                if (wideBanner == null)
                {
                    return(null);
                }
                path = wideBanner.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            // 5
            case ImageEntityType.TvDB_Cover:
                TvDB_ImagePoster poster = Repo.Instance.TvDB_ImagePoster.GetByID(id);
                if (poster == null)
                {
                    return(null);
                }
                path = poster.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            // 6
            case ImageEntityType.TvDB_Episode:
                TvDB_Episode ep = Repo.Instance.TvDB_Episode.GetByID(id);
                if (ep == null)
                {
                    return(null);
                }
                path = ep.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            // 7
            case ImageEntityType.TvDB_FanArt:
                TvDB_ImageFanart fanart = Repo.Instance.TvDB_ImageFanart.GetByID(id);
                if (fanart == null)
                {
                    return(null);
                }
                path = fanart.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }

                path = string.Empty;
                break;

            // 8
            case ImageEntityType.MovieDB_FanArt:
                MovieDB_Fanart mFanart = Repo.Instance.MovieDB_Fanart.GetByID(id);
                if (mFanart == null)
                {
                    return(null);
                }
                mFanart = Repo.Instance.MovieDB_Fanart.GetByOnlineID(mFanart.URL);
                if (mFanart == null)
                {
                    return(null);
                }
                path = mFanart.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            // 9
            case ImageEntityType.MovieDB_Poster:
                MovieDB_Poster mPoster = Repo.Instance.MovieDB_Poster.GetByID(id);
                if (mPoster == null)
                {
                    return(null);
                }
                mPoster = Repo.Instance.MovieDB_Poster.GetByOnlineID(mPoster.URL);
                if (mPoster == null)
                {
                    return(null);
                }
                path = mPoster.GetFullImagePath();
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            case ImageEntityType.Character:
                AnimeCharacter character = Repo.Instance.AnimeCharacter.GetByID(id);
                if (character == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCharacterImagesPath() + Path.DirectorySeparatorChar + character.ImagePath;
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            case ImageEntityType.Staff:
                var staff = Repo.Instance.AnimeStaff.GetByID(id);
                if (staff == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCreatorImagesPath() + Path.DirectorySeparatorChar + staff.ImagePath;
                if (File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                }
                break;

            default:
                path = string.Empty;
                break;
            }

            return(path);
        }
        public AniDB_Anime_DefaultImage GetByAnimeIDAndImagezSizeTypeAndImageEntityType(int animeid, ImageSizeType imageType, ImageEntityType entityType)
        {
            var defaultImage = GetByAnimeIDAndImagezSizeType(animeid, imageType);

            return(defaultImage != null && defaultImage.ImageParentType == (int)entityType ? defaultImage : null);
        }
 public AniDB_Anime_DefaultImage GetByAnimeIDAndImageEntityType(int animeid, ImageEntityType entityType)
 {
     return(Animes.GetMultiple(animeid).FirstOrDefault(a => a.ImageParentType == (int)entityType));
 }
Ejemplo n.º 26
0
        /// <summary>
        /// Internal function that return valid image file path on server that exist
        /// </summary>
        /// <param name="id">image id</param>
        /// <param name="type">image type</param>
        /// <param name="thumb">thumb mode</param>
        /// <returns>string</returns>
        internal string GetImagePath(int type, int id, bool thumb)
        {
            ImageEntityType imageType = (ImageEntityType)type;
            string          path;

            switch (imageType)
            {
            // 1
            case ImageEntityType.AniDB_Cover:
                SVR_AniDB_Anime anime = RepoFactory.AniDB_Anime.GetByAnimeID(id);
                if (anime == null)
                {
                    return(null);
                }
                path = anime.PosterPath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Cover image: {0}", anime.PosterPath);
                }
                break;

            // 2
            case ImageEntityType.AniDB_Character:
                AniDB_Character chr = RepoFactory.AniDB_Character.GetByCharID(id);
                if (chr == null)
                {
                    return(null);
                }
                path = chr.GetPosterPath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Character image: {0}", chr.GetPosterPath());
                }
                break;

            // 3
            case ImageEntityType.AniDB_Creator:
                AniDB_Seiyuu creator = RepoFactory.AniDB_Seiyuu.GetBySeiyuuID(id);
                if (creator == null)
                {
                    return(null);
                }
                path = creator.GetPosterPath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Creator image: {0}", creator.GetPosterPath());
                }
                break;

            // 4
            case ImageEntityType.TvDB_Banner:
                TvDB_ImageWideBanner wideBanner = RepoFactory.TvDB_ImageWideBanner.GetByID(id);
                if (wideBanner == null)
                {
                    return(null);
                }
                path = wideBanner.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Banner image: {0}", wideBanner.GetFullImagePath());
                }
                break;

            // 5
            case ImageEntityType.TvDB_Cover:
                TvDB_ImagePoster poster = RepoFactory.TvDB_ImagePoster.GetByID(id);
                if (poster == null)
                {
                    return(null);
                }
                path = poster.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Cover image: {0}", poster.GetFullImagePath());
                }
                break;

            // 6
            case ImageEntityType.TvDB_Episode:
                TvDB_Episode ep = RepoFactory.TvDB_Episode.GetByID(id);
                if (ep == null)
                {
                    return(null);
                }
                path = ep.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Episode image: {0}", ep.GetFullImagePath());
                }
                break;

            // 7
            case ImageEntityType.TvDB_FanArt:
                TvDB_ImageFanart fanart = RepoFactory.TvDB_ImageFanart.GetByID(id);
                if (fanart == null)
                {
                    return(null);
                }
                if (thumb)
                {
                    //ratio
                    path = fanart.GetFullThumbnailPath();
                    if (System.IO.File.Exists(path))
                    {
                        return(path);
                    }
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_FanArt image: {0}", fanart.GetFullThumbnailPath());
                }
                else
                {
                    path = fanart.GetFullImagePath();
                    if (System.IO.File.Exists(path))
                    {
                        return(path);
                    }
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_FanArt image: {0}", fanart.GetFullImagePath());
                }
                break;

            // 8
            case ImageEntityType.MovieDB_FanArt:
                MovieDB_Fanart mFanart = RepoFactory.MovieDB_Fanart.GetByID(id);
                if (mFanart == null)
                {
                    return(null);
                }
                mFanart = RepoFactory.MovieDB_Fanart.GetByOnlineID(mFanart.URL);
                if (mFanart == null)
                {
                    return(null);
                }
                path = mFanart.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find MovieDB_FanArt image: {0}", mFanart.GetFullImagePath());
                }
                break;

            // 9
            case ImageEntityType.MovieDB_Poster:
                MovieDB_Poster mPoster = RepoFactory.MovieDB_Poster.GetByID(id);
                if (mPoster == null)
                {
                    return(null);
                }
                mPoster = RepoFactory.MovieDB_Poster.GetByOnlineID(mPoster.URL);
                if (mPoster == null)
                {
                    return(null);
                }
                path = mPoster.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find MovieDB_Poster image: {0}", mPoster.GetFullImagePath());
                }
                break;

            case ImageEntityType.Character:
                AnimeCharacter character = RepoFactory.AnimeCharacter.GetByID(id);
                if (character == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCharacterImagesPath() + Path.DirectorySeparatorChar + character.ImagePath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find Character image: {0}",
                                 ImageUtils.GetBaseAniDBCharacterImagesPath() + Path.DirectorySeparatorChar + character.ImagePath);
                }
                break;

            case ImageEntityType.Staff:
                var staff = RepoFactory.AnimeStaff.GetByID(id);
                if (staff == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCreatorImagesPath() + Path.DirectorySeparatorChar + staff.ImagePath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find Staff image: {0}",
                                 ImageUtils.GetBaseAniDBCreatorImagesPath() + Path.DirectorySeparatorChar + staff.ImagePath);
                }
                break;

            default:
                path = string.Empty;
                break;
            }

            return(path);
        }
Ejemplo n.º 27
0
        private void RemoveImageAndQueueRedownload(ImageEntityType EntityTypeEnum, int EntityID, object Entity)
        {
            CommandRequest_DownloadImage cmd;

            switch (EntityTypeEnum)
            {
            case ImageEntityType.TvDB_Episode:
                TvDB_Episode episode = Entity as TvDB_Episode;
                if (episode == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(episode.GetFullImagePath()))
                    {
                        File.Delete(episode.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {episode.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Episode, true);
                break;

            case ImageEntityType.TvDB_FanArt:
                TvDB_ImageFanart fanart = Entity as TvDB_ImageFanart;
                if (fanart == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(fanart.GetFullImagePath()))
                    {
                        File.Delete(fanart.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {fanart.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_FanArt, true);
                break;

            case ImageEntityType.TvDB_Cover:
                TvDB_ImagePoster poster = Entity as TvDB_ImagePoster;
                if (poster == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(poster.GetFullImagePath()))
                    {
                        File.Delete(poster.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {poster.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Cover, true);
                break;

            case ImageEntityType.TvDB_Banner:
                TvDB_ImageWideBanner wideBanner = Entity as TvDB_ImageWideBanner;
                if (wideBanner == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(wideBanner.GetFullImagePath()))
                    {
                        File.Delete(wideBanner.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {wideBanner.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.TvDB_Banner, true);
                break;

            case ImageEntityType.MovieDB_Poster:
                MovieDB_Poster moviePoster = Entity as MovieDB_Poster;
                if (moviePoster == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(moviePoster.GetFullImagePath()))
                    {
                        File.Delete(moviePoster.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {moviePoster.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.MovieDB_Poster, true);
                break;

            case ImageEntityType.MovieDB_FanArt:
                MovieDB_Fanart movieFanart = Entity as MovieDB_Fanart;
                if (movieFanart == null)
                {
                    return;
                }
                try
                {
                    if (File.Exists(movieFanart.GetFullImagePath()))
                    {
                        File.Delete(movieFanart.GetFullImagePath());
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {movieFanart.GetFullImagePath()} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.MovieDB_FanArt, true);
                break;

            case ImageEntityType.AniDB_Cover:
                string coverpath = (Entity as SVR_AniDB_Anime)?.PosterPath;
                if (string.IsNullOrEmpty(coverpath))
                {
                    return;
                }
                try
                {
                    if (File.Exists(coverpath))
                    {
                        File.Delete(coverpath);
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {coverpath} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Cover, true);
                break;

            case ImageEntityType.AniDB_Creator:
                string creatorpath = (Entity as AniDB_Seiyuu)?.GetPosterPath();
                if (string.IsNullOrEmpty(creatorpath))
                {
                    return;
                }
                try
                {
                    if (File.Exists(creatorpath))
                    {
                        File.Delete(creatorpath);
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {creatorpath} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Creator, true);
                break;

            case ImageEntityType.AniDB_Character:
                string characterpath = (Entity as AniDB_Character)?.GetPosterPath();
                if (string.IsNullOrEmpty(characterpath))
                {
                    return;
                }
                try
                {
                    if (File.Exists(characterpath))
                    {
                        File.Delete(characterpath);
                    }
                }
                catch (Exception e)
                {
                    logger.Error($"Unable to delete {characterpath} - {e.Message}");
                }

                cmd = new CommandRequest_DownloadImage(EntityID, ImageEntityType.AniDB_Character, true);
                break;

            default:
                return;
            }
            cmd.Save();
        }
Ejemplo n.º 28
0
        private string GetRandomImagePath(int type)
        {
            ImageEntityType imageType = (ImageEntityType)type;
            string          path;

            switch (imageType)
            {
            // 1
            case ImageEntityType.AniDB_Cover:
                SVR_AniDB_Anime anime = RepoFactory.AniDB_Anime.GetAll()
                                        .Where(a => a?.PosterPath != null && !a.GetAllTags().Contains("18 restricted"))
                                        .GetRandomElement();
                if (anime == null)
                {
                    return(null);
                }
                path = anime.PosterPath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Cover image: {0}", anime.PosterPath);
                }
                break;

            // 2
            case ImageEntityType.AniDB_Character:
                var chr = RepoFactory.AniDB_Anime.GetAll()
                          .Where(a => a != null && !a.GetAllTags().Contains("18 restricted"))
                          .SelectMany(a => a.GetAnimeCharacters()).Select(a => a.GetCharacter()).Where(a => a != null)
                          .GetRandomElement();
                if (chr == null)
                {
                    return(null);
                }
                path = chr.GetPosterPath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Character image: {0}", chr.GetPosterPath());
                }
                break;

            // 3 -- this will likely be slow
            case ImageEntityType.AniDB_Creator:
                var creator = RepoFactory.AniDB_Anime.GetAll()
                              .Where(a => a != null && !a.GetAllTags().Contains("18 restricted"))
                              .SelectMany(a => a.GetAnimeCharacters())
                              .SelectMany(a => RepoFactory.AniDB_Character_Seiyuu.GetByCharID(a.CharID))
                              .Select(a => RepoFactory.AniDB_Seiyuu.GetBySeiyuuID(a.SeiyuuID)).Where(a => a != null)
                              .GetRandomElement();
                if (creator == null)
                {
                    return(null);
                }
                path = creator.GetPosterPath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find AniDB_Creator image: {0}", creator.GetPosterPath());
                }
                break;

            // 4
            case ImageEntityType.TvDB_Banner:
                // TvDB doesn't allow H content, so we get to skip the check!
                TvDB_ImageWideBanner wideBanner = RepoFactory.TvDB_ImageWideBanner.GetAll().GetRandomElement();
                if (wideBanner == null)
                {
                    return(null);
                }
                path = wideBanner.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Banner image: {0}", wideBanner.GetFullImagePath());
                }
                break;

            // 5
            case ImageEntityType.TvDB_Cover:
                // TvDB doesn't allow H content, so we get to skip the check!
                TvDB_ImagePoster poster = RepoFactory.TvDB_ImagePoster.GetAll().GetRandomElement();
                if (poster == null)
                {
                    return(null);
                }
                path = poster.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Cover image: {0}", poster.GetFullImagePath());
                }
                break;

            // 6
            case ImageEntityType.TvDB_Episode:
                // TvDB doesn't allow H content, so we get to skip the check!
                TvDB_Episode ep = RepoFactory.TvDB_Episode.GetAll().GetRandomElement();
                if (ep == null)
                {
                    return(null);
                }
                path = ep.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find TvDB_Episode image: {0}", ep.GetFullImagePath());
                }
                break;

            // 7
            case ImageEntityType.TvDB_FanArt:
                // TvDB doesn't allow H content, so we get to skip the check!
                TvDB_ImageFanart fanart = RepoFactory.TvDB_ImageFanart.GetAll().GetRandomElement();
                if (fanart == null)
                {
                    return(null);
                }
                path = fanart.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                path = string.Empty;
                logger.Trace("Could not find TvDB_FanArt image: {0}", fanart.GetFullImagePath());
                break;

            // 8
            case ImageEntityType.MovieDB_FanArt:
                MovieDB_Fanart mFanart = RepoFactory.MovieDB_Fanart.GetAll().GetRandomElement();
                if (mFanart == null)
                {
                    return(null);
                }
                path = mFanart.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find MovieDB_FanArt image: {0}", mFanart.GetFullImagePath());
                }
                break;

            // 9
            case ImageEntityType.MovieDB_Poster:
                MovieDB_Poster mPoster = RepoFactory.MovieDB_Poster.GetAll().GetRandomElement();
                if (mPoster == null)
                {
                    return(null);
                }
                path = mPoster.GetFullImagePath();
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find MovieDB_Poster image: {0}", mPoster.GetFullImagePath());
                }
                break;

            case ImageEntityType.Character:
                var character = RepoFactory.AniDB_Anime.GetAll()
                                .Where(a => a != null && !a.GetAllTags().Contains("18 restricted"))
                                .SelectMany(a => RepoFactory.CrossRef_Anime_Staff.GetByAnimeID(a.AnimeID))
                                .Where(a => a.RoleType == (int)StaffRoleType.Seiyuu && a.RoleID.HasValue)
                                .Select(a => RepoFactory.AnimeCharacter.GetByID(a.RoleID.Value)).GetRandomElement();
                if (character == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCharacterImagesPath() + Path.DirectorySeparatorChar + character.ImagePath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find Character image: {0}",
                                 ImageUtils.GetBaseAniDBCharacterImagesPath() + Path.DirectorySeparatorChar + character.ImagePath);
                }
                break;

            case ImageEntityType.Staff:
                var staff = RepoFactory.AniDB_Anime.GetAll()
                            .Where(a => a != null && !a.GetAllTags().Contains("18 restricted"))
                            .SelectMany(a => RepoFactory.CrossRef_Anime_Staff.GetByAnimeID(a.AnimeID))
                            .Select(a => RepoFactory.AnimeStaff.GetByID(a.StaffID)).GetRandomElement();
                if (staff == null)
                {
                    return(null);
                }
                path = ImageUtils.GetBaseAniDBCreatorImagesPath() + Path.DirectorySeparatorChar + staff.ImagePath;
                if (System.IO.File.Exists(path))
                {
                    return(path);
                }
                else
                {
                    path = string.Empty;
                    logger.Trace("Could not find Staff image: {0}",
                                 ImageUtils.GetBaseAniDBCreatorImagesPath() + Path.DirectorySeparatorChar + staff.ImagePath);
                }
                break;

            default:
                path = string.Empty;
                break;
            }

            return(path);
        }
Ejemplo n.º 29
0
 public ImageDownloadRequest(ImageEntityType imageType, object data, bool forceDownload)
 {
     this.ImageType     = imageType;
     this.ImageData     = data;
     this.ForceDownload = forceDownload;
 }
        public string GetImagePath(int imageId, int imageType, bool?thumnbnailOnly)
        {
            ImageEntityType it = (ImageEntityType)imageType;

            switch (it)
            {
            case ImageEntityType.AniDB_Cover:
                SVR_AniDB_Anime anime = Repo.Instance.AniDB_Anime.GetByID(imageId);
                if (anime == null)
                {
                    return(null);
                }
                if (File.Exists(anime.PosterPath))
                {
                    return(anime.PosterPath);
                }
                else
                {
                    logger.Trace("Could not find AniDB_Cover image: {0}", anime.PosterPath);
                    return(string.Empty);
                }

            case ImageEntityType.AniDB_Character:
                AniDB_Character chr = Repo.Instance.AniDB_Character.GetByID(imageId);
                if (chr == null)
                {
                    return(null);
                }
                if (File.Exists(chr.GetPosterPath()))
                {
                    return(chr.GetPosterPath());
                }
                else
                {
                    logger.Trace("Could not find AniDB_Character image: {0}", chr.GetPosterPath());
                    return(string.Empty);
                }

            case ImageEntityType.AniDB_Creator:
                AniDB_Seiyuu creator = Repo.Instance.AniDB_Seiyuu.GetByID(imageId);
                if (creator == null)
                {
                    return(string.Empty);
                }
                if (File.Exists(creator.GetPosterPath()))
                {
                    return(creator.GetPosterPath());
                }
                else
                {
                    logger.Trace("Could not find AniDB_Creator image: {0}", creator.GetPosterPath());
                    return(string.Empty);
                }

            case ImageEntityType.TvDB_Cover:
                TvDB_ImagePoster poster = Repo.Instance.TvDB_ImagePoster.GetByID(imageId);
                if (poster == null)
                {
                    return(null);
                }
                if (File.Exists(poster.GetFullImagePath()))
                {
                    return(poster.GetFullImagePath());
                }
                else
                {
                    logger.Trace("Could not find TvDB_Cover image: {0}", poster.GetFullImagePath());
                    return(string.Empty);
                }

            case ImageEntityType.TvDB_Banner:
                TvDB_ImageWideBanner wideBanner = Repo.Instance.TvDB_ImageWideBanner.GetByID(imageId);
                if (wideBanner == null)
                {
                    return(null);
                }
                if (File.Exists(wideBanner.GetFullImagePath()))
                {
                    return(wideBanner.GetFullImagePath());
                }
                else
                {
                    logger.Trace("Could not find TvDB_Banner image: {0}", wideBanner.GetFullImagePath());
                    return(string.Empty);
                }

            case ImageEntityType.TvDB_Episode:
                TvDB_Episode ep = Repo.Instance.TvDB_Episode.GetByID(imageId);
                if (ep == null)
                {
                    return(null);
                }
                if (File.Exists(ep.GetFullImagePath()))
                {
                    return(ep.GetFullImagePath());
                }
                else
                {
                    logger.Trace("Could not find TvDB_Episode image: {0}", ep.GetFullImagePath());
                    return(string.Empty);
                }

            case ImageEntityType.TvDB_FanArt:
                TvDB_ImageFanart fanart = Repo.Instance.TvDB_ImageFanart.GetByID(imageId);
                if (fanart == null)
                {
                    return(null);
                }
                if (thumnbnailOnly.HasValue && thumnbnailOnly.Value)
                {
                    if (File.Exists(fanart.GetFullThumbnailPath()))
                    {
                        return(fanart.GetFullThumbnailPath());
                    }

                    logger.Trace("Could not find TvDB_FanArt image: {0}", fanart.GetFullThumbnailPath());
                    return(string.Empty);
                }
                else
                {
                    if (File.Exists(fanart.GetFullImagePath()))
                    {
                        return(fanart.GetFullImagePath());
                    }

                    logger.Trace("Could not find TvDB_FanArt image: {0}", fanart.GetFullImagePath());
                    return(string.Empty);
                }

            case ImageEntityType.MovieDB_Poster:
                MovieDB_Poster mPoster = Repo.Instance.MovieDB_Poster.GetByID(imageId);
                if (mPoster == null)
                {
                    return(null);
                }

                // now find only the original size
                mPoster = Repo.Instance.MovieDB_Poster.GetByOnlineID(mPoster.URL);
                if (mPoster == null)
                {
                    return(null);
                }
                if (File.Exists(mPoster.GetFullImagePath()))
                {
                    return(mPoster.GetFullImagePath());
                }
                else
                {
                    logger.Trace("Could not find MovieDB_Poster image: {0}", mPoster.GetFullImagePath());
                    return(string.Empty);
                }

            case ImageEntityType.MovieDB_FanArt:
                MovieDB_Fanart mFanart = Repo.Instance.MovieDB_Fanart.GetByID(imageId);
                if (mFanart == null)
                {
                    return(null);
                }
                mFanart = Repo.Instance.MovieDB_Fanart.GetByOnlineID(mFanart.URL);
                if (mFanart == null)
                {
                    return(null);
                }
                if (File.Exists(mFanart.GetFullImagePath()))
                {
                    return(mFanart.GetFullImagePath());
                }
                else
                {
                    logger.Trace("Could not find MovieDB_FanArt image: {0}", mFanart.GetFullImagePath());
                    return(string.Empty);
                }

            default:
                return(string.Empty);
            }
        }
 public ImageDownloadRequest(ImageEntityType imageType, object data, bool forceDownload)
 {
     this.ImageType = imageType;
     this.ImageData = data;
     this.ForceDownload = forceDownload;
 }