Commit bf640e6b authored by gdlcf88's avatar gdlcf88

Improved entities

parent 79cbe560
using Volo.Abp.Modularity;
using Volo.Abp.Localization;
using EasyAbp.EShop.Products.Localization;
using EasyAbp.EShop.Stores;
using Volo.Abp.Localization.ExceptionHandling;
using Volo.Abp.Validation;
using Volo.Abp.Validation.Localization;
......@@ -10,8 +9,7 @@ using Volo.Abp.VirtualFileSystem;
namespace EasyAbp.EShop.Products
{
[DependsOn(
typeof(AbpValidationModule),
typeof(EShopStoresDomainSharedModule)
typeof(AbpValidationModule)
)]
public class EShopProductsDomainSharedModule : AbpModule
{
......
......@@ -16,8 +16,4 @@
<Content Remove="Localization\Products\*.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\EasyAbp.EShop.Stores\src\EasyAbp.EShop.Stores.Domain.Shared\EasyAbp.EShop.Stores.Domain.Shared.csproj" />
</ItemGroup>
</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 JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
......@@ -7,5 +8,16 @@ namespace EasyAbp.EShop.Products.Categories
public class Category : FullAuditedAggregateRoot<Guid>, IMultiTenant
{
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
{
[DependsOn(
typeof(EShopProductsDomainSharedModule)
)]
typeof(EShopProductsDomainSharedModule),
typeof(EShopStoresDomainSharedModule)
)]
public class EShopProductsDomainModule : AbpModule
{
......
......@@ -12,4 +12,8 @@
<ProjectReference Include="..\EasyAbp.EShop.Products.Domain.Shared\EasyAbp.EShop.Products.Domain.Shared.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\EasyAbp.EShop.Stores\src\EasyAbp.EShop.Stores.Domain.Shared\EasyAbp.EShop.Stores.Domain.Shared.csproj" />
</ItemGroup>
</Project>
......@@ -10,5 +10,11 @@ namespace EasyAbp.EShop.Products.ProductCategories
public virtual Guid? TenantId { 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 JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace EasyAbp.EShop.Products.ProductTypes
{
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 EasyAbp.EShop.Stores.Stores;
using JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
......@@ -10,5 +11,17 @@ namespace EasyAbp.EShop.Products.Products
public virtual Guid? TenantId { 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 JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products
{
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 JetBrains.Annotations;
using Volo.Abp.Domain.Entities.Auditing;
namespace EasyAbp.EShop.Products.Products
{
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