Profile page finished

This commit is contained in:
2024-11-02 15:22:25 +01:00
Unverified
parent 1154cc547b
commit 4b9034fe87
32 changed files with 1770 additions and 302 deletions

View File

@@ -73,6 +73,15 @@ public class MovieRatedQueryParameters : QueryParameters<MovieRatedResponse>
[FromQuery(Name = "user_rating_to")]
public decimal? UserRatingTo { get; set; }
[FromQuery(Name = "user_rating_date")]
public DateOnly? UserRatingDate { get; set; }
[FromQuery(Name = "user_rating_date_from")]
public DateOnly? UserRatingDateFrom { get; set; }
[FromQuery(Name = "user_rating_date_to")]
public DateOnly? UserRatingDateTo { get; set; }
#endregion
@@ -98,6 +107,8 @@ public class MovieRatedQueryParameters : QueryParameters<MovieRatedResponse>
TestContains(Genres, item.Genres.Select(x => x.Id))
&&
TestComparable((decimal)item.UserRating, UserRating, UserRatingFrom, UserRatingTo)
&&
TestComparable(item.UserRatingDate, UserRatingDate, UserRatingDateFrom, UserRatingDateTo)
);
#endregion

View File

@@ -24,12 +24,16 @@ public class MovieRatedResponse : MovieResponse, IQueryOrderable<MovieRatedRespo
{ "budget", x => x.Budget },
{ "rating.average", x => x.Rating.Average },
{ "rating.count", x => x.Rating.Count },
{ "user_rating", x => x.UserRating }
{ "user_rating", x => x.UserRating },
{ "user_rating_date", x => x.UserRatingDate }
};
[JsonPropertyName("user_rating")]
public short UserRating { get; set; }
[JsonPropertyName("user_rating_date")]
public DateTime UserRatingDate { get; set; }
#endregion
@@ -54,6 +58,7 @@ public class MovieRatedResponse : MovieResponse, IQueryOrderable<MovieRatedRespo
.Build();
Genres = mediaMovie.Media.Genres.Select(x => new GenreResponse(x)).ToList();
UserRating = response.Rating;
UserRatingDate = response.Date;
}
#endregion

View File

@@ -72,6 +72,15 @@ public class PersonRatedQueryParameters : QueryParameters<PersonRatedResponse>
[FromQuery(Name = "user_rating_count_to")]
public long? UserRatingCountTo { get; set; }
[FromQuery(Name = "user_rating_date")]
public DateOnly? UserRatingLastDate { get; set; }
[FromQuery(Name = "user_rating_date_from")]
public DateOnly? UserRatingLastDateFrom { get; set; }
[FromQuery(Name = "user_rating_date_to")]
public DateOnly? UserRatingLastDateTo { get; set; }
#endregion
@@ -100,6 +109,8 @@ public class PersonRatedQueryParameters : QueryParameters<PersonRatedResponse>
TestComparable(item.UserRating.Average, UserRatingAverage, UserRatingAverageFrom, UserRatingAverageTo)
&&
TestComparable(item.UserRating.Count, UserRatingCount, UserRatingCountFrom, UserRatingCountTo)
&&
TestComparable(item.UserRatingLastDate, UserRatingLastDate, UserRatingLastDateFrom, UserRatingLastDateTo)
);
#endregion

View File

@@ -24,11 +24,15 @@ public class PersonRatedResponse : PersonResponse, IQueryOrderable<PersonRatedRe
{ "rating.average", x => x.Rating.Average },
{ "rating.count", x => x.Rating.Count },
{ "user_rating.average", x => x.UserRating.Average },
{ "user_rating.count", x => x.UserRating.Count }
{ "user_rating.count", x => x.UserRating.Count },
{ "user_rating_last_date", x => x.UserRatingLastDate }
};
[JsonPropertyName("user_rating")]
public RatingResponse UserRating { get; set; }
[JsonPropertyName("user_rating_last_date")]
public DateTime UserRatingLastDate { get; set; }
#endregion
@@ -57,6 +61,9 @@ public class PersonRatedResponse : PersonResponse, IQueryOrderable<PersonRatedRe
.Add(actorUserRatings, x => x.Rating)
.Add(creatorUserRatings, x => x.Rating)
.Build();
UserRatingLastDate = actorUserRatings.Select(x => x.Date)
.Union(creatorUserRatings.Select(x => x.Date))
.Max();
}
#endregion

View File

@@ -67,6 +67,15 @@ public class SeriesRatedQueryParameters : QueryParameters<SeriesRatedResponse>
[FromQuery(Name = "user_rating_to")]
public decimal? UserRatingTo { get; set; }
[FromQuery(Name = "user_rating_date")]
public DateOnly? UserRatingDate { get; set; }
[FromQuery(Name = "user_rating_date_from")]
public DateOnly? UserRatingDateFrom { get; set; }
[FromQuery(Name = "user_rating_date_to")]
public DateOnly? UserRatingDateTo { get; set; }
#endregion
@@ -94,6 +103,8 @@ public class SeriesRatedQueryParameters : QueryParameters<SeriesRatedResponse>
TestContains(item.Genres.Select(x => x.Id), Genres)
&&
TestComparable((decimal)item.UserRating, UserRating, UserRatingFrom, UserRatingTo)
&&
TestComparable(item.UserRatingDate, UserRatingDate, UserRatingDateFrom, UserRatingDateTo)
);
#endregion

View File

@@ -24,12 +24,16 @@ public class SeriesRatedResponse : SeriesResponse, IQueryOrderable<SeriesRatedRe
{ "has_ended", x => x.HasEnded },
{ "rating.average", x => x.Rating.Average },
{ "rating.count", x => x.Rating.Count },
{ "user_rating", x => x.UserRating }
{ "user_rating", x => x.UserRating },
{ "user_rating_date", x => x.UserRatingDate }
};
[JsonPropertyName("user_rating")]
public short UserRating { get; set; }
[JsonPropertyName("user_rating_date")]
public DateTime UserRatingDate { get; set; }
#endregion
@@ -54,6 +58,7 @@ public class SeriesRatedResponse : SeriesResponse, IQueryOrderable<SeriesRatedRe
.Build();
Genres = mediaSeries.Media.Genres.Select(x => new GenreResponse(x)).ToList();
UserRating = response.Rating;
UserRatingDate = response.Date;
}
#endregion