private TraktShowFilter AddStates(bool keepExisting, TraktShowStatus status, params TraktShowStatus[] states) { var statesList = new List <TraktShowStatus>(); if (keepExisting && this.States != null && this.States.Length > 0) { statesList.AddRange(this.States); } if (status != null && status != TraktShowStatus.Unspecified) { statesList.Add(status); } if (states != null && states.Length > 0) { for (int i = 0; i < states.Length; i++) { if (states[i] == null || states[i] == TraktShowStatus.Unspecified) { throw new ArgumentException("status not valid", nameof(states)); } } statesList.AddRange(states); } this.States = statesList.ToArray(); return(this); }
public void Test_TraktShowFilterBuilder_GetParameters() { TraktShowStatus state1 = TraktShowStatus.ReturningSeries; TraktShowStatus state2 = TraktShowStatus.InProduction; ITraktShowFilter filter = TraktFilterDirectory.ShowFilter .WithQuery("query") .WithYears(2016, 2018) .WithGenres("action", "drama") .WithLanguages("de", "en") .WithCountries("gb", "us") .WithRuntimes(30, 180) .WithRatings(60, 90) .WithCertifications("pg-13", "nr") .WithNetworks("abc", "fox") .WithStates(state1, state2) .Build(); filter.GetParameters().Should().NotBeNull().And.HaveCount(10); filter.GetParameters().Should().Contain(new Dictionary <string, object>() { { "query", "query" }, { "years", "2016-2018" }, { "genres", "action,drama" }, { "languages", "de,en" }, { "countries", "gb,us" }, { "runtimes", "30-180" }, { "ratings", "60-90" }, { "certifications", "pg-13,nr" }, { "networks", "abc,fox" }, { "status", $"{state1.UriName},{state2.UriName}" } }); }
private void AddStates(bool keepExisting, TraktShowStatus status, params TraktShowStatus[] states) { var statesList = new List <TraktShowStatus>(); if (CheckStatus(status)) { statesList.Add(status); } if (CheckStates(states)) { statesList.AddRange(states); } if (keepExisting) { if (_filter.States != null && _filter.States.Length > 0) { statesList.InsertRange(0, _filter.States); } _filter.States = statesList.ToArray(); } else { _filter.States = statesList.ToArray(); } }
public async Task <TraktShowStatus> CreateStatus(TraktShowStatus model) { await _appDbContext.TraktShowStatuses.AddAsync(model); await _appDbContext.SaveChangesAsync(); return(model); }
public void Test_TraktShowFilterBuilder_ToString_With_States() { TraktShowStatus state1 = TraktShowStatus.ReturningSeries; TraktShowStatus state2 = TraktShowStatus.InProduction; ITraktShowFilter filter = TraktFilterDirectory.ShowFilter.WithStates(state1, state2).Build(); filter.ToString().Should().Be($"status={state1.UriName},{state2.UriName}"); }
private bool CheckStatus(TraktShowStatus status) { if (status == null || status == TraktShowStatus.Unspecified) { throw new ArgumentException("status not valid", nameof(status)); } return(true); }
public void Test_TraktShowFilterBuilder_GetParameters_With_States() { TraktShowStatus state1 = TraktShowStatus.ReturningSeries; TraktShowStatus state2 = TraktShowStatus.InProduction; ITraktShowFilter filter = TraktFilterDirectory.ShowFilter.WithStates(state1, state2).Build(); filter.GetParameters().Should().NotBeNull().And.HaveCount(1); filter.GetParameters().Should().Contain(new Dictionary <string, object>() { { "status", $"{state1.UriName},{state2.UriName}" } }); }
public void Test_TraktShowFilterBuilder_ToString() { TraktShowStatus state1 = TraktShowStatus.ReturningSeries; TraktShowStatus state2 = TraktShowStatus.InProduction; ITraktShowFilter filter = TraktFilterDirectory.ShowFilter .WithQuery("query") .WithYears(2016, 2018) .WithGenres("action", "drama") .WithLanguages("de", "en") .WithCountries("gb", "us") .WithRuntimes(30, 180) .WithRatings(60, 90) .WithCertifications("pg-13", "nr") .WithNetworks("abc", "fox") .WithStates(state1, state2) .Build(); filter.ToString().Should().Be("query=query&years=2016-2018&genres=action,drama&languages=de,en" + "&countries=gb,us&runtimes=30-180&ratings=60-90&certifications=pg-13,nr" + $"&networks=abc,fox&status={state1.UriName},{state2.UriName}"); }
public T WithStates(TraktShowStatus status, params TraktShowStatus[] states) { AddStates(false, status, states); return((T)this); }
public T AddStates(TraktShowStatus status, params TraktShowStatus[] states) { AddStates(true, status, states); return((T)this); }
/// <summary>Sets the show states parameter and overwrites already existing ones with given show states.</summary> /// <param name="status">A show status. See also <seealso cref="TraktShowStatus" />.</param> /// <param name="states">An optional array of show states. See also <seealso cref="TraktShowStatus" />.</param> /// <returns>The current <see cref="TraktShowFilter" /> instance.</returns> /// <exception cref="ArgumentException">Thrown, if one the given show states is unspecified.</exception> public TraktShowFilter WithStates(TraktShowStatus status, params TraktShowStatus[] states) => AddStates(false, status, states);
/// <summary>Adds multiple show states to the already existing show states.</summary> /// <param name="status">A show status. See also <seealso cref="TraktShowStatus" />.</param> /// <param name="states">An optional array of show states. See also <seealso cref="TraktShowStatus" />.</param> /// <returns>The current <see cref="TraktShowFilter" /> instance.</returns> /// <exception cref="ArgumentException">Thrown, if one the given show states is unspecified.</exception> public TraktShowFilter AddStates(TraktShowStatus status, params TraktShowStatus[] states) => AddStates(true, status, states);
public void TestTraktShowStatusIsTraktEnumeration() { var enumeration = new TraktShowStatus(); enumeration.Should().BeAssignableTo <TraktEnumeration>(); }