MyBookmark/Modules.Library.Application/Queries/Converters/AnimeSeasonConverter.cs
2024-09-23 03:00:50 +03:00

116 lines
4.7 KiB
C#

//using Modules.Library.Application.Models.Anime;
//using Modules.Library.Database.Database.Models;
//using Modules.Library.Database.Database.Models.Anime;
//using Modules.Library.Database.Database.Models.CommonProperties;
//namespace Modules.Library.Application.Queries.Converters;
//internal class AnimeSeasonConverter
//{
// private readonly CommonPropertiesConverter _commonPropertiesConverter;
// private readonly AnimeEpisodeConverter _animeEpisodeConverter;
// internal AnimeSeasonConverter(CommonPropertiesConverter commonPropertiesConverter)
// {
// _commonPropertiesConverter = commonPropertiesConverter;
// _animeEpisodeConverter = new AnimeEpisodeConverter(commonPropertiesConverter);
// }
// /*
// internal async Task<AnimeSeasonBuilder> GetBuilder(AnimeSeason season)
// {
// var seasonBuilder = new AnimeSeasonBuilder();
// seasonBuilder.SetDirector(season.Director)
// .SetOriginCountry(season.OriginCountry)
// .SetNumber(season.Number)
// .SetOrder(season.Order)
// .SetCommonProperties(await _commonPropertiesConverter.GetBuilder(season.CommonProperties))
// .SetExpirationTime(season.ExpirationTime);
// if (season.Deleted) seasonBuilder.Deleted();
// if (season.Completed) seasonBuilder.Completed();
// if (!season.IsTransient()) seasonBuilder.SetId(season.Id);
// foreach (var episode in season.Episodes)
// {
// seasonBuilder.AddEpisode(await _animeEpisodeConverter.GetBuilder(episode));
// }
// return seasonBuilder;
// }
// */
// internal async Task<Season> Convert(AnimeSeason season)
// {
// var result = new Domain.Models.AnimeSeason
// {
// Id = season.Id,
// Deleted = season.Deleted,
// Completed = season.Completed,
// CommonProperties = await _commonPropertiesConverter.Convert(season.CommonProperties),
// Number = season.Number,
// Order = season.Order,
// //Variant = season.Variant,
// ExpirationTime = season.ExpirationTime,
// Director = season.Director,
// OriginCountry = season.OriginCountry,
// };
// foreach (var episode in season.Episodes)
// {
// result.Episodes.Add(await _animeEpisodeConverter.Convert(episode));
// }
// return result;
// }
// internal AnimeSeason Convert(Domain.Entities.MediaContent.Items.Anime.AnimeSeason season)
// {
// var dbSeason = new AnimeSeason
// {
// CommonProperties = new CommonProperties
// {
// Names = season.CommonProperties.Names.Select(q => new NameItem
// {
// Value = q.Value,
// Type = (NameType)q.Type,
// LanguageId = q.Language.Id,
// }).ToList(),
// Preview = season.CommonProperties.Preview == null ? null : new MediaInfo
// {
// //Id =
// Type = (MediaInfoType)season.CommonProperties.Preview.Type,
// Url = season.CommonProperties.Preview.Url,
// },
// Descriptions = season.CommonProperties.Descriptions.Select(q => new DescriptionItem
// {
// IsOriginal = q.IsOriginal,
// Value = q.Value,
// }).ToList(),
// Genres = season.CommonProperties.Genres.Select(q => new GenreProportionItem
// {
// GenreId = q.Genre.Id,
// Proportion = q.Proportion,
// }).ToList(),
// RelatedContent = season.CommonProperties.RelatedContent.Select(q => new MediaInfo
// {
// Type = (MediaInfoType)q.Type,
// Url = q.Url,
// }).ToList(),
// AnnouncementDate = season.CommonProperties.AnnouncementDate,
// EstimatedReleaseDate = season.CommonProperties.EstimatedReleaseDate,
// ReleaseDate = season.CommonProperties.ReleaseDate,
// },
// OriginCountry = season.OriginCountry,
// Director = season.Director,
// Number = season.Number,
// Order = season.Order,
// //Variant = season.Variant,
// Completed = season.Completed,
// Deleted = season.Deleted,
// ExpirationTime = season.ExpirationTime,
// };
// if (!season.IsTransient()) dbSeason.Id = season.Id;
// foreach (var episode in season.Episodes)
// {
// dbSeason.Episodes.Add(_animeEpisodeConverter.Convert(episode));
// }
// return dbSeason;
// }
//}