using Core.Abstractions.DomainObjects; using Core.Abstractions.Models; using Core.DomainObjects; using Core.Enumerations; namespace WeatherForecast.Models.Abstractions { public abstract class PostItemResponseModelBase : ResponseModelBase { public string Slug { get; set; } public string Description { get; set; } public List Images { get; set; } public List Badges { get; set; } public string Title { get; set; } public string ShortText { get; set; } public string Text { get; set; } public string PlainText { get; set; } public AuthorModel Author { get; set; } public DateTime Created { get; set; } public List Tags { get; set; } public List Categories { get; set; } public bool? FamilyFriendly { get; set; } public PostItemResponseModelBase(PostItemBase postItem, List categories, Locales locale) { var postItemL10n = postItem.L10n.SingleOrDefault(x => x.Locale == locale); if (postItemL10n != null) { Slug = postItemL10n.Slug; Badges = postItemL10n.Badges; Title = postItemL10n.Title; ShortText = postItemL10n.ShortText; Text = postItemL10n.Text; PlainText = postItemL10n.PlainText; Badges = postItemL10n.Badges; } Categories = categories.Select(x => new CategoryModel(x, locale)).ToList(); // Author = new AuthorModel(postItem.Author); Created = postItem.Created; Tags = postItem.Tags; Images = postItem.Images.Select(x => new ImageModel(x, locale)).ToList(); FamilyFriendly = postItem.FamilyFriendly; } } }