using System.Collections.Generic; using API.Entities; using API.Entities.Enums; using API.Entities.Metadata; namespace API.Helpers.Builders; public class SeriesMetadataBuilder : IEntityBuilder { private readonly SeriesMetadata _seriesMetadata; public SeriesMetadata Build() => _seriesMetadata; public SeriesMetadataBuilder() { _seriesMetadata = new SeriesMetadata() { CollectionTags = new List(), Genres = new List(), Tags = new List(), People = new List() }; } public SeriesMetadataBuilder WithCollectionTag(CollectionTag tag) { _seriesMetadata.CollectionTags ??= new List(); _seriesMetadata.CollectionTags.Add(tag); return this; } public SeriesMetadataBuilder WithCollectionTags(IList tags) { if (tags == null) return this; _seriesMetadata.CollectionTags ??= new List(); _seriesMetadata.CollectionTags = tags; return this; } public SeriesMetadataBuilder WithPublicationStatus(PublicationStatus status) { _seriesMetadata.PublicationStatus = status; return this; } public SeriesMetadataBuilder WithAgeRating(AgeRating rating) { _seriesMetadata.AgeRating = rating; return this; } }