Commit bf640e6b authored by gdlcf88's avatar gdlcf88

Improved entities

parent 79cbe560
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using EasyAbp.EShop.Products.Localization; using EasyAbp.EShop.Products.Localization;
using EasyAbp.EShop.Stores;
using Volo.Abp.Localization.ExceptionHandling; using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization; using Volo.Abp.Validation.Localization;
...@@ -10,8 +9,7 @@ using Volo.Abp.VirtualFileSystem; ...@@ -10,8 +9,7 @@ using Volo.Abp.VirtualFileSystem;
namespace EasyAbp.EShop.Products namespace EasyAbp.EShop.Products
{ {
[DependsOn( [DependsOn(
typeof(AbpValidationModule), typeof(AbpValidationModule)
typeof(EShopStoresDomainSharedModule)
)] )]
public class EShopProductsDomainSharedModule : AbpModule public class EShopProductsDomainSharedModule : AbpModule
{ {
......
...@@ -16,8 +16,4 @@ ...@@ -16,8 +16,4 @@
<Content Remove="Localization\Products\*.json" /> <Content Remove="Localization\Products\*.json" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\EasyAbp.EShop.Stores\src\EasyAbp.EShop.Stores.Domain.Shared\EasyAbp.EShop.Stores.Domain.Shared.csproj" />
</ItemGroup>
</Project> </Project>
namespace EasyAbp.EShop.Products.Products
{
public enum InventoryStrategy
{
NoNeed = 1,
ReduceAfterPlacing = 2,
ReduceAfterPayment = 4
}
}
\ No newline at end of file
using System;
namespace EasyAbp.EShop.Products.Products
{
[Serializable]
public class ProductInventoryReductionFailedEto
{
}
}
\ No newline at end of file
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
...@@ -7,5 +8,16 @@ namespace EasyAbp.EShop.Products.Categories ...@@ -7,5 +8,16 @@ namespace EasyAbp.EShop.Products.Categories
public class Category : FullAuditedAggregateRoot<Guid>, IMultiTenant public class Category : FullAuditedAggregateRoot<Guid>, IMultiTenant
{ {
public virtual Guid? TenantId { get; protected set; } public virtual Guid? TenantId { get; protected set; }
public virtual Guid? ParentCategoryId { get; protected set; }
[NotNull]
public virtual string DisplayName { get; protected set; }
[CanBeNull]
public virtual string Description { get; protected set; }
[CanBeNull]
public virtual string MediaResources { get; protected set; }
} }
} }
\ No newline at end of file
using Volo.Abp.Modularity; using EasyAbp.EShop.Stores;
using Volo.Abp.Modularity;
namespace EasyAbp.EShop.Products namespace EasyAbp.EShop.Products
{ {
[DependsOn( [DependsOn(
typeof(EShopProductsDomainSharedModule) typeof(EShopProductsDomainSharedModule),
typeof(EShopStoresDomainSharedModule)
)] )]
public class EShopProductsDomainModule : AbpModule public class EShopProductsDomainModule : AbpModule
{ {
......
...@@ -12,4 +12,8 @@ ...@@ -12,4 +12,8 @@
<ProjectReference Include="..\EasyAbp.EShop.Products.Domain.Shared\EasyAbp.EShop.Products.Domain.Shared.csproj" /> <ProjectReference Include="..\EasyAbp.EShop.Products.Domain.Shared\EasyAbp.EShop.Products.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\EasyAbp.EShop.Stores\src\EasyAbp.EShop.Stores.Domain.Shared\EasyAbp.EShop.Stores.Domain.Shared.csproj" />
</ItemGroup>
</Project> </Project>
...@@ -10,5 +10,11 @@ namespace EasyAbp.EShop.Products.ProductCategories ...@@ -10,5 +10,11 @@ namespace EasyAbp.EShop.Products.ProductCategories
public virtual Guid? TenantId { get; protected set; } public virtual Guid? TenantId { get; protected set; }
public virtual Guid? StoreId { get; protected set; } public virtual Guid? StoreId { get; protected set; }
public virtual Guid CategoryId { get; protected set; }
public virtual Guid ProductId { get; protected set; }
public virtual int DisplayOrder { get; protected set; }
} }
} }
\ No newline at end of file
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace EasyAbp.EShop.Products.ProductTypes namespace EasyAbp.EShop.Products.ProductTypes
{ {
public class ProductType : FullAuditedAggregateRoot<Guid> public class ProductType : FullAuditedAggregateRoot<Guid>
{ {
public virtual string Name { get; protected set; }
[NotNull]
public virtual string DisplayName { get; protected set; }
[CanBeNull]
public virtual string Description { get; protected set; }
public virtual MultiTenancySides MultiTenancySide { get; protected set; }
} }
} }
\ No newline at end of file
namespace EasyAbp.EShop.Products.Products
{
public interface IProductInventoryManager
{
}
}
\ No newline at end of file
namespace EasyAbp.EShop.Products.Products
{
public interface IProductPriceProvider
{
}
}
\ No newline at end of file
using System; using System;
using EasyAbp.EShop.Stores.Stores; using EasyAbp.EShop.Stores.Stores;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
...@@ -10,5 +11,17 @@ namespace EasyAbp.EShop.Products.Products ...@@ -10,5 +11,17 @@ namespace EasyAbp.EShop.Products.Products
public virtual Guid? TenantId { get; protected set; } public virtual Guid? TenantId { get; protected set; }
public virtual Guid? StoreId { get; protected set; } public virtual Guid? StoreId { get; protected set; }
public virtual Guid ProductTypeId { get; protected set; }
[NotNull]
public virtual string DisplayName { get; protected set; }
public virtual InventoryStrategy InventoryStrategy { get; protected set; }
public virtual bool IsPublished { get; protected set; }
[CanBeNull]
public virtual string MediaResources { get; protected set; }
} }
} }
\ No newline at end of file
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products namespace EasyAbp.EShop.Products.Products
{ {
public class ProductAttribute : FullAuditedEntity<Guid> public class ProductAttribute : FullAuditedEntity<Guid>
{ {
[NotNull]
public virtual string DisplayName { get; protected set; }
[CanBeNull]
public virtual string Description { get; protected set; }
} }
} }
\ No newline at end of file
using System; using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products namespace EasyAbp.EShop.Products.Products
{ {
public class ProductAttributeOption : FullAuditedEntity<Guid> public class ProductAttributeOption : FullAuditedEntity<Guid>
{ {
[NotNull]
public virtual string DisplayName { get; protected set; }
[CanBeNull]
public virtual string Description { get; protected set; }
} }
} }
\ No newline at end of file
using System;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities;
namespace EasyAbp.EShop.Products.Products
{
public class ProductDetail : Entity
{
public virtual Guid ProductId { get; protected set; }
[CanBeNull]
public virtual string Description { get; protected set; }
public override object[] GetKeys()
{
return new object[] {ProductId};
}
}
}
\ No newline at end of file
using System;
using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products
{
public class ProductSku : FullAuditedEntity<Guid>
{
public virtual string SerializedAttributeOptionIds { get; protected set; }
public virtual decimal OriginalPrice { get; protected set; }
public virtual decimal Price { get; protected set; }
public virtual int Inventory { get; protected set; }
public virtual int OrderMinQuantity { get; protected set; }
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment