Exemplo n.º 1
0
 public bool AddMediaInfo(WebCache_Media media)
 {
     return(WrapAuthentication((token) =>
     {
         cclient.AddMediaInfo(token, media);
     }));
 }
        private async Task <bool> AddMediaInfoInternal(SessionInfoWithError s, WebCache_Media media)
        {
            try
            {
                Models.Database.WebCache_Media m = await _db.WebCache_Medias.FirstOrDefaultAsync(a => a.ED2K == media.ED2K);

                if (m == null)
                {
                    m = new Models.Database.WebCache_Media();
                    _db.Add(m);
                }
                else if (m.Version >= media.Version)
                {
                    return(false);
                }

                m.Version      = media.Version;
                m.MediaInfo    = media.MediaInfo;
                m.ED2K         = media.ED2K;
                m.CreationDate = DateTime.UtcNow;
                m.AniDBUserId  = s.AniDBUserId;
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Exemplo n.º 3
0
        public static WebCache_Media ToMediaRequest(this MediaStoreInfo m, string ed2k)
        {
            if (m == null)
            {
                return(null);
            }
            WebCache_Media n = new WebCache_Media {
                ED2K = ed2k
            };

            n.MediaInfo = m.MediaInfo;
            n.Version   = m.Version;
            return(n);
        }
Exemplo n.º 4
0
        public static WebCache_Media ToMediaRequest(this SVR_VideoLocal v)
        {
            if (v.MediaInfo == null)
            {
                return(null);
            }
            WebCache_Media m = new WebCache_Media {
                ED2K = v.ED2KHash
            };

            m.MediaInfo = v.MediaInfo.MediaInfo;
            m.Version   = v.MediaInfo.Version;
            return(m);
        }
        public async Task <IActionResult> AddMediaInfo(string token, [FromBody] WebCache_Media media)
        {
            try
            {
                SessionInfoWithError s = await VerifyTokenAsync(token);

                if (s.Error != null)
                {
                    return(s.Error);
                }
                media.ED2K = media.ED2K.ToUpperInvariant();
                if (await AddMediaInfoInternal(s, media))
                {
                    await _db.SaveChangesAsync();
                }
                return(Ok());
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"ADDMEDIAINFO with Token={token} ED2K={media.ED2K} Version={media.Version}");
                return(StatusCode(500));
            }
        }