added xml comments to swagger. finished adding all filter query params to episode endpoint.

This commit is contained in:
StevanFreeborn
2022-06-21 14:07:56 -05:00
parent f22960f0ef
commit 2ecd3ff8bf
6 changed files with 84 additions and 2 deletions
@@ -1,6 +1,7 @@
using MongoDB.Driver;
using MongoDB.Driver.Linq;
using server.Models;
using System.Linq;
namespace server.Persistence.Repositories
{
@@ -34,6 +35,36 @@ namespace server.Persistence.Repositories
query = query.Where(episode => episode.AirDate <= filter.EndDate);
}
if (filter?.Title != null)
{
query = query.Where(episode => episode.Title!.ToLower() == filter.Title.ToLower());
}
if (filter?.SummaryKeyword != null)
{
query = query.Where(episode => episode.Summary!.ToLower().Contains(filter.SummaryKeyword.ToLower()));
}
if (filter?.DirectedBy != null)
{
query = query.Where(episode => episode.DirectedBy!.ToLower().Contains(filter.DirectedBy.ToLower()));
}
if (filter?.WrittenBy != null)
{
query = query.Where(episode => episode.WrittenBy.Any(e => e.ToLower().Contains(filter.WrittenBy.ToLower())));
}
if (filter?.ViewersRangeStart != null)
{
query = query.Where(episode => episode.UsViewersInMillions >= filter.ViewersRangeStart);
}
if (filter?.ViewersRangeEnd != null)
{
query = query.Where(episode => episode.UsViewersInMillions <= filter.ViewersRangeEnd);
}
return await query.ToListAsync();
}
catch (Exception e)