//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 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 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; // } //}