public async Task <IActionResult> AddFlick(AddFlickRequest request) { var cancellation = HttpContext.RequestAborted; var imdbId = ImdbId.TryParseFromUrl(request.SourceUrl); if (string.IsNullOrWhiteSpace(imdbId)) { return(Problem( statusCode: 400, title: "Invalid URL", detail: $"Provided URL '{request.SourceUrl}' is not a valid IMDB link" )); } var flickId = await _catalogPopulator.PopulateFlickAsync(imdbId, cancellation); if (flickId == null) { return(Problem( statusCode: 404, title: "Not Found", detail: $"IMDB title '{imdbId}' not found" )); } return(Ok(new AddFlickResponse { FlickId = flickId.Value })); }
public override int GetHashCode() { unchecked { var hashCode = (Title != null ? Title.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ImdbId != null ? ImdbId.GetHashCode() : 0); hashCode = (hashCode * 397) ^ Year; hashCode = (hashCode * 397) ^ (TvdbId != null ? TvdbId.GetHashCode() : 0); return(hashCode); } }
/// <summary> /// Returns a valid query string starting with a ? for this object. /// </summary> /// <returns></returns> public string ToQueryString() { string quey = ""; string qn = null, qi = null, qz = null; if (Name != null && Name.Trim().Length > 0) { qn = "name=" + Uri.EscapeUriString(Name); } if (ImdbId != null && ImdbId.Trim().Length > 0) { qi = "imdbId=" + Uri.EscapeUriString(ImdbId); } if (Zap2ItId != null && Zap2ItId.Trim().Length > 0) { qz = "zap2itId=" + Uri.EscapeUriString(Zap2ItId); } if (qn != null) { quey = qn; } if (qi != null) { if (quey.Length > 0) { quey += "&"; } quey += qi; } if (qz != null) { if (quey.Length > 0) { quey += "&"; } quey += qz; } if (quey.Length > 0) { quey = "?" + quey; } return(quey); }
public override int GetHashCode() { unchecked { int result = Title != null?Title.GetHashCode() : 0; result = (result * 397) ^ (Year.HasValue ? Year.Value : 0); result = (result * 397) ^ (ImdbId != null ? ImdbId.GetHashCode() : 0); result = (result * 397) ^ (ImdbRating.HasValue ? ImdbRating.Value.GetHashCode() : 0); result = (result * 397) ^ (Cover != null ? Cover.GetHashCode() : 0); result = (result * 397) ^ TimeAdded; result = (result * 397) ^ (Duration.HasValue ? Duration.Value : 0); result = (result * 397) ^ (Plot != null ? Plot.GetHashCode() : 0); result = (result * 397) ^ (GuessedTitle != null ? GuessedTitle.GetHashCode() : 0); foreach (var s in Files.Concat(Principals).Concat(Directors).Concat(Genres).Concat(Writers).Concat(Tags)) { result = (result * 397) ^ (s != null ? s.GetHashCode() : 0); } return(result); } }
public override int GetHashCode() { return(ImdbId != null?ImdbId.GetHashCode() : 0); }
public bool Any() => TheTvDb.HasValue() || TheMovieDb.HasValue() || ImdbId.HasValue();