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; } }
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); }
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)); } }