65 lines
2.4 KiB
C#
65 lines
2.4 KiB
C#
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;
|
|
}
|
|
} |