public static string GetSearchListQuery(int?year, string query, OmdbType type, int page) { if (string.IsNullOrWhiteSpace(query)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(query)); } if (page <= 0) { throw new ArgumentOutOfRangeException(nameof(page), "Page has to be greater than zero."); } var editedQuery = $"&s={Regex.Replace(query, @"\s+", "+")}&page={page}"; if (type != OmdbType.None) { editedQuery += $"&type={type.ToString()}"; } if (year != null) { if (year > 1800) { editedQuery += $"&y={year}"; } else { throw new ArgumentOutOfRangeException(nameof(year), "Year has to be greater than 1800."); } } return(editedQuery); }
public static string GetItemByTitleQuery(string title, OmdbType type, int?year, bool fullPlot) { if (string.IsNullOrWhiteSpace(title)) { throw new ArgumentException("Value cannot be null or whitespace.", nameof(title)); } var editedTitle = Regex.Replace(title, @"\s+", "+"); var plot = fullPlot ? "full" : "short"; var query = $"&t={editedTitle}&plot={plot}"; if (year != null) { if (year > 1800) { query += $"&y={year}"; } else { throw new ArgumentOutOfRangeException(nameof(year), "Year has to be greater than 1800."); } } if (type != OmdbType.None) { query += $"&type={type.ToString()}"; } return(query); }