diff --git a/src/Services/Product/Product.Domain/DTOs/CategoryDto.cs b/src/Services/Product/Product.Domain/DTOs/CategoryDto.cs new file mode 100644 index 0000000..a4c6da0 --- /dev/null +++ b/src/Services/Product/Product.Domain/DTOs/CategoryDto.cs @@ -0,0 +1,9 @@ +namespace Product.Domain.DTOs; + +public class CategoryDto +{ + public int Id { get; set; } + public string? Name { get; set; } + public string? Description { get; set; } + public string? Icon { get; set; } +} diff --git a/src/Services/Product/Product.Domain/DTOs/ProductDto.cs b/src/Services/Product/Product.Domain/DTOs/ProductDto.cs new file mode 100644 index 0000000..c04ef19 --- /dev/null +++ b/src/Services/Product/Product.Domain/DTOs/ProductDto.cs @@ -0,0 +1,15 @@ +namespace Product.Domain.DTOs; + +public class ProductDto +{ + public int Id { get; set; } + public string? Name { get; set; } + public string? Description { get; set; } + public string? Icon { get; set; } + public decimal BuyingPrice { get; set; } + public decimal SellingPrice { get; set; } + public int UnitsInStock { get; set; } + public bool IsActive { get; set; } + public bool IsDiscontinued { get; set; } + public string? ProductCategoryName { get; set; } +} diff --git a/src/Services/Product/Product.Domain/Entities/.gitkeep b/src/Services/Product/Product.Domain/Entities/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/Services/Product/Product.Domain/Entities/BaseEntity.cs b/src/Services/Product/Product.Domain/Entities/BaseEntity.cs new file mode 100644 index 0000000..0daa734 --- /dev/null +++ b/src/Services/Product/Product.Domain/Entities/BaseEntity.cs @@ -0,0 +1,18 @@ +using System.ComponentModel.DataAnnotations; + +namespace Product.Domain.Entities; + +public class BaseEntity +{ + public int Id { get; set; } + + [MaxLength(40)] + public string? CreatedBy { get; set; } + + [MaxLength(40)] + public string? UpdatedBy { get; set; } + + public DateTime UpdatedDate { get; set; } + + public DateTime CreatedDate { get; set; } +} diff --git a/src/Services/Product/Product.Domain/Entities/Product.cs b/src/Services/Product/Product.Domain/Entities/Product.cs new file mode 100644 index 0000000..a03a1a2 --- /dev/null +++ b/src/Services/Product/Product.Domain/Entities/Product.cs @@ -0,0 +1,21 @@ +namespace Product.Domain.Entities; + +public class Product : BaseEntity +{ + public required string Name { get; set; } + public string? Description { get; set; } + public string? Icon { get; set; } + public decimal BuyingPrice { get; set; } + public decimal SellingPrice { get; set; } + public int UnitsInStock { get; set; } + public bool IsActive { get; set; } + public bool IsDiscontinued { get; set; } + + public int? ParentId { get; set; } + public Product? Parent { get; set; } + + public int ProductCategoryId { get; set; } + public required ProductCategory ProductCategory { get; set; } + + public ICollection Children { get; } = []; +} diff --git a/src/Services/Product/Product.Domain/Entities/ProductCategory.cs b/src/Services/Product/Product.Domain/Entities/ProductCategory.cs new file mode 100644 index 0000000..5e37d40 --- /dev/null +++ b/src/Services/Product/Product.Domain/Entities/ProductCategory.cs @@ -0,0 +1,10 @@ +namespace Product.Domain.Entities; + +public class ProductCategory : BaseEntity +{ + public required string Name { get; set; } + public string? Description { get; set; } + public string? Icon { get; set; } + + public ICollection Products { get; } = []; +} diff --git a/src/Services/Product/Product.Domain/Interfaces/.gitkeep b/src/Services/Product/Product.Domain/Interfaces/.gitkeep deleted file mode 100644 index e69de29..0000000