namespace Netina.Domain.Entities.Blogs; public partial class Blog { public static Blog Create(string title, string content, string tags, int readingTime, string summery, bool isSuggested, Guid categoryId, Guid authorId) { var slug = StringExtensions.GetSlug(title); return new Blog(title, slug, content, tags, readingTime, summery, isSuggested, categoryId,authorId); } public void AddMetaTag(string key, string value) => MetaTags.Add(BlogMetaTag.Create(key, value, Id)); public static Blog Create(string title, string slug, string content, string tags, int readingTime, string summery, bool isSuggested, Guid categoryId, Guid authorId) { if (slug.IsNullOrEmpty()) slug = StringExtensions.GetSlug(title); return new Blog(title, slug, content, tags, readingTime, summery, isSuggested, categoryId, authorId); } public BlogStorageFile AddFile(string name, string fileLocation, string fileName, bool isHeader, bool isPrimary, StorageFileType fileType) { var file = BlogStorageFile.Create(name, fileLocation, fileName, isHeader, isPrimary, fileType, this.Id); Files.Add(file); return file; } } public partial class BlogMetaTag { public static BlogMetaTag Create(string key, string value, Guid brandId) => new(key, value, brandId); } public partial class BlogStorageFile { public static BlogStorageFile Create(string name, string fileLocation, string fileName, bool isHeader, bool isPrimary, StorageFileType fileType, Guid blogId) { return new BlogStorageFile(name, fileLocation, fileName, isHeader, isPrimary, fileType, blogId); } } public partial class BlogComment { public static BlogComment Create(string title, string content, float rate, bool isAdmin, Guid userId, Guid blogId) => new(title, content, rate, isAdmin, userId, blogId); } public partial class BlogCategory { public static BlogCategory Create(string name, string description, bool isMain) { var slug = StringExtensions.GetSlug(name); return new BlogCategory(name, slug, description, isMain); } public static BlogCategory Create(string name, string slug, string description,bool isMain) { if (slug.IsNullOrEmpty()) slug = StringExtensions.GetSlug(name); return new BlogCategory(name, slug, description, isMain); } public void SetParent(Guid parentId) { ParentId = parentId; } }