Compare commits

...

8 Commits

Author SHA1 Message Date
Loretta 1a9e0dcf0b Merge branch '4.80' into FruitBank_v0.0.8.0 2026-03-28 16:22:34 +01:00
Loretta 1898f4d517 Update DLL HintPaths to use $(Configuration); prod DB switch
Replaced hardcoded Debug paths in all .csproj files with $(Configuration) for AyCode and FruitBank DLL references, enabling correct DLL resolution for any build configuration. Switched appsettings.json connection string to use the FruitBank_PROD database. Added a null check for StockTaking in StockSignalREndpointServer.cs to prevent possible null reference exceptions. Noted some encoding issues in .csproj comments and copyright fields. No other functional changes.
2026-03-24 18:30:43 +01:00
Loretta ced4b98908 Add serialization attributes and update to PROD config
Annotated core entities with AcBinarySerializable and ToonDescription for improved serialization and documentation. Updated appsettings.json to use the production database. Changed solution file to target Visual Studio 17. Added necessary using statements and metadata for entity classes.
2026-03-20 17:06:49 +01:00
Loretta e47c7c8f74 Remove IDE-specific workspace and layout files
Deleted .wsuo, DocumentLayout.json, and VSWorkspaceState.json files that store user-specific IDE state and metadata. This cleanup prevents sharing of personal or machine-specific settings in version control.
2026-02-03 18:24:17 +01:00
Loretta ca1ac2a2d1 Restore Product class and enums; add Toon metadata
Re-enable Product class and related enums in Nop.Core.Domain.Catalog, moving them from commented to active code. Add [ToonDescription] attributes to Product properties for enhanced documentation and serialization. Mark sensitive Customer fields with [ToonIgnore] to exclude them from Toon processing.
2026-01-17 09:19:46 +01:00
Loretta c0073815ae Add ToonDescription attributes to core entities and DTOs
Introduced ToonDescription annotations across DTO and entity classes to provide metadata, business rules, and documentation for classes and properties. Updated usings to include AyCode.Core.Serializers.Toons where needed. These changes improve code clarity and support tooling for documentation and code generation.
2026-01-15 11:34:06 +01:00
Loretta 954b99fcbc Add OrderStatus enum property to Order class
Introduced the OrderStatus property as an enum wrapper for OrderStatusId in the Order class. This enhances type safety and code readability by allowing direct use of the OrderStatus enum. The property is annotated with ToonDescription to clarify its purpose and business rule.
2026-01-15 11:33:51 +01:00
Loretta 7bcd601035 Add ToonDescription attributes for enhanced metadata support
Introduced Toon serialization/description attributes to CustomerDto, GenericAttribute, and OrderNote classes. Added table mapping and foreign key metadata, as well as necessary using statements, to improve serialization, documentation, and tooling capabilities.
2026-01-14 21:05:20 +01:00
32 changed files with 897 additions and 682 deletions

Binary file not shown.

View File

@ -1,47 +0,0 @@
{
"Version": 1,
"WorkspaceRootPath": "H:\\Applications\\Mango\\Source\\NopCommerce.Common\\4.70\\Libraries\\",
"Documents": [],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": -1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:131:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:132:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
}
]
}
]
}
]
}

View File

@ -1,7 +0,0 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\H:\\Applications\\Mango\\Source\\NopCommerce.Common\\4.70\\Libraries",
"PreviewInSolutionExplorer": false
}

View File

@ -1,8 +1,15 @@
using Nop.Core.Domain.Common;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
using Nop.Core.Domain.Catalog;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Customers;
namespace Mango.Nop.Core.Dtos;
[AcBinarySerializable(false, true, false, true)]
[LinqToDB.Mapping.Table(Name = nameof(Customer))]
[System.ComponentModel.DataAnnotations.Schema.Table(nameof(Customer))]
[ToonDescription($"Data transfer object for {nameof(Customer)}", TypeRelation = ToonTypeRelation.DtoOf, RelatedTypes = [typeof(Customer)])]
public class CustomerDto : ModelDtoBase<Customer>, ISoftDeletedEntity
{
public string Username { get; set; }
@ -10,6 +17,7 @@ public class CustomerDto : ModelDtoBase<Customer>, ISoftDeletedEntity
public string FirstName { get; set; }
public string LastName { get; set; }
[ToonDescription(BusinessRule = "get => $\"{LastName} {FirstName}\"")]
public string FullName => $"{LastName} {FirstName}";
public int RegisteredInStoreId { get; set; }

View File

@ -1,4 +1,5 @@
using AyCode.Core.Extensions;
using AyCode.Core.Serializers.Toons;
using AyCode.Core.Helpers;
using LinqToDB.Mapping;
using Mango.Nop.Core.Entities;
@ -14,6 +15,7 @@ using System.Linq.Expressions;
namespace Mango.Nop.Core.Dtos;
[ToonDescription("Base DTO for orders with items, customer and status tracking")]
public abstract class MgOrderDto<TOrderItemDto, TProductDto> : MgEntityBase, IModelDtoBase<Order>, IMgOrderDto<TOrderItemDto, TProductDto> where TOrderItemDto : IMgOrderItemDto<TProductDto> where TProductDto : IMgProductDto
{
public Guid OrderGuid { get; set; }
@ -40,16 +42,19 @@ public abstract class MgOrderDto<TOrderItemDto, TProductDto> : MgEntityBase, IMo
[Association(ThisKey = nameof(Id), OtherKey = nameof(OrderNote.OrderId), CanBeNull = true)]
public List<OrderNote> OrderNotes { get; set; }
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => OrderStatusId")]
public OrderStatus OrderStatus
{
get => (OrderStatus)OrderStatusId;
set => OrderStatusId = (int)value;
}
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => ShippingStatusId")]
public ShippingStatus ShippingStatus
{
get => (ShippingStatus)ShippingStatusId;
set => ShippingStatusId = (int)value;
}
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => PaymentStatusId")]
public PaymentStatus PaymentStatus
{
get => (PaymentStatus)PaymentStatusId;

View File

@ -1,4 +1,5 @@
using AyCode.Core.Extensions;
using AyCode.Core.Serializers.Toons;
using AyCode.Core.Helpers;
using LinqToDB.Mapping;
using Mango.Nop.Core.Entities;
@ -8,6 +9,7 @@ using Nop.Core.Domain.Orders;
namespace Mango.Nop.Core.Dtos;
[ToonDescription("Base DTO for order items with product association")]
public abstract class MgOrderItemDto<TProductDto> : MgEntityBase, IModelDtoBase<OrderItem>, IMgOrderItemDto<TProductDto> where TProductDto : IMgProductDto
{
public Guid OrderItemGuid { get; set; }
@ -24,6 +26,7 @@ public abstract class MgOrderItemDto<TProductDto> : MgEntityBase, IModelDtoBase<
public string AttributesXml { get; set; }
public decimal? ItemWeight { get; set; }
[ToonDescription(BusinessRule = "get => ProductDto?.Name ?? 'ProductDto is null!!!'")]
public string ProductName => ProductDto?.Name ?? "ProductDto is null!!!";
[Association(ThisKey = nameof(ProductId), OtherKey = nameof(BaseEntity.Id), CanBeNull = true)]

View File

@ -1,10 +1,12 @@
using AyCode.Interfaces.Entities;
using AyCode.Core.Serializers.Toons;
using Mango.Nop.Core.Entities;
using Mango.Nop.Core.Interfaces;
//using Nop.Core.Domain.Catalog;
namespace Mango.Nop.Core.Dtos;
[ToonDescription("Base DTO for products with warehouse and pricing")]
public abstract class MgProductDto : MgEntityBase, /*Product,*/ IMgProductDto//IModelDtoBase<Product>//, IDiscountSupported<DiscountProductMapping>
{
//public int Id { get; set; }

View File

@ -1,4 +1,5 @@
using AyCode.Interfaces.Entities;
using AyCode.Core.Serializers.Toons;
using LinqToDB.Mapping;
using Mango.Nop.Core.Entities;
using Mango.Nop.Core.Interfaces;
@ -18,6 +19,7 @@ namespace Mango.Nop.Core.Dtos
public TProductDto ProductDto { get; set; }
}
[ToonDescription("Base DTO for stock quantity history with product")]
public abstract class MgStockQuantityHistoryDto<TProductDto> : MgEntityBase, IModelDtoBase<StockQuantityHistory>,
IMgTStockQuantityHistoryDto<TProductDto> where TProductDto : IMgProductDto
{

View File

@ -1,8 +1,10 @@
using AyCode.Interfaces.Entities;
using AyCode.Core.Serializers.Toons;
using Nop.Core;
namespace Mango.Nop.Core.Entities;
[ToonDescription("Base entity class with Id property and ToString override")]
public abstract class MgEntityBase : BaseEntity, IEntityInt
{
public override string ToString()

View File

@ -1,4 +1,5 @@
using System.ComponentModel.Design;
using AyCode.Core.Serializers.Toons;
using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
using LinqToDB.Mapping;
@ -13,6 +14,7 @@ public interface IMgStockTaking : IEntityInt, ITimeStampInfo
public bool IsReadyForClose();
}
[ToonDescription("Base entity for stock taking sessions with items")]
public abstract class MgStockTaking<TStockTakingItem> : MgEntityBase, IMgStockTaking where TStockTakingItem : class, IMgStockTakingItem
{
public DateTime StartDateTime { get; set; }

View File

@ -1,4 +1,5 @@
using AyCode.Interfaces.Entities;
using AyCode.Core.Serializers.Toons;
using AyCode.Interfaces.TimeStampInfo;
using LinqToDB;
using LinqToDB.Mapping;
@ -18,6 +19,7 @@ public interface IMgStockTakingItem : IEntityInt, ITimeStampInfo
public int MeasuredStockQuantity { get; set; }
}
[ToonDescription("Base entity for stock taking items with product association")]
public abstract class MgStockTakingItem<TStockTaking, TProduct> : MgEntityBase, IMgStockTakingItem
where TStockTaking : class, IMgStockTaking where TProduct : class, IMgProductDto
{

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
@ -18,25 +18,25 @@
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Core.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Utils.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>

View File

@ -0,0 +1,22 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a backorder mode
/// </summary>
public enum BackorderMode
{
/// <summary>
/// No backorders
/// </summary>
NoBackorders = 0,
/// <summary>
/// Allow qty below 0
/// </summary>
AllowQtyBelow0 = 1,
/// <summary>
/// Allow qty below 0 and notify customer
/// </summary>
AllowQtyBelow0AndNotifyCustomer = 2,
}

View File

@ -1,4 +1,6 @@
//namespace Nop.Core.Domain.Common;
using AyCode.Core.Serializers.Toons;
using AyCode.Interfaces.Entities;

View File

@ -1,4 +1,6 @@
using Nop.Core.Domain.Common;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Tax;
namespace Nop.Core.Domain.Customers;
@ -6,6 +8,8 @@ namespace Nop.Core.Domain.Customers;
/// <summary>
/// Represents a customer
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[ToonDescription("NopCommerce customer entity")]
public partial class Customer : BaseEntity, ISoftDeletedEntity
{
public Customer()
@ -21,21 +25,25 @@ public partial class Customer : BaseEntity, ISoftDeletedEntity
/// <summary>
/// Gets or sets the username
/// </summary>
//[ToonIgnore]
public string Username { get; set; }
/// <summary>
/// Gets or sets the email
/// </summary>
//[ToonIgnore]
public string Email { get; set; }
/// <summary>
/// Gets or sets the first name
/// </summary>
//[ToonIgnore]
public string FirstName { get; set; }
/// <summary>
/// Gets or sets the last name
/// </summary>
//[ToonIgnore]
public string LastName { get; set; }
/// <summary>

View File

@ -1,8 +1,11 @@
namespace Nop.Core.Domain.Customers;
using AyCode.Core.Serializers.Attributes;
namespace Nop.Core.Domain.Customers;
/// <summary>
/// Represents a customer role
/// </summary>
[AcBinarySerializable(false, true, false, true)]
public partial class CustomerRole : BaseEntity
{
/// <summary>

View File

@ -1,8 +1,11 @@
namespace Nop.Core.Domain.Discounts;
using AyCode.Core.Serializers.Attributes;
namespace Nop.Core.Domain.Discounts;
/// <summary>
/// Represents a discount-product mapping class
/// </summary>
[AcBinarySerializable(false, true, false, true)]
public partial class DiscountProductMapping : DiscountMapping
{
/// <summary>

View File

@ -1,13 +1,20 @@
namespace Nop.Core.Domain.Common;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
namespace Nop.Core.Domain.Common;
/// <summary>
/// Represents a generic attribute
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[ToonDescription("NopCommerce generic attribute for key-value storage", Purpose = "A flexible key-value store used to extend entities with custom business logic data without changing the database schema")]
public partial class GenericAttribute : BaseEntity
{
/// <summary>
/// Gets or sets the entity identifier
/// </summary>
///
[ToonDescription(Constraints = "polymorphic-fk(KeyGroup)")]
public int EntityId { get; set; }
/// <summary>
@ -23,6 +30,7 @@ public partial class GenericAttribute : BaseEntity
/// <summary>
/// Gets or sets the value
/// </summary>
[ToonDescription(Purpose = "Raw string representation of the Key's value")]
public string Value { get; set; }
/// <summary>

View File

@ -1,4 +1,6 @@
using Nop.Core.Domain.Common;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
using Nop.Core.Domain.Common;
using Nop.Core.Domain.Payments;
using Nop.Core.Domain.Shipping;
using Nop.Core.Domain.Tax;
@ -8,6 +10,8 @@ namespace Nop.Core.Domain.Orders;
/// <summary>
/// Represents an order
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[ToonDescription("NopCommerce order entity with payment and shipping")]
public partial class Order : BaseEntity, ISoftDeletedEntity
{
#region Properties
@ -299,6 +303,7 @@ public partial class Order : BaseEntity, ISoftDeletedEntity
/// <summary>
/// Gets or sets the order status
/// </summary>
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => OrderStatusId")]
public OrderStatus OrderStatus
{
get => (OrderStatus)OrderStatusId;
@ -308,6 +313,7 @@ public partial class Order : BaseEntity, ISoftDeletedEntity
/// <summary>
/// Gets or sets the payment status
/// </summary>
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => PaymentStatusId")]
public PaymentStatus PaymentStatus
{
get => (PaymentStatus)PaymentStatusId;
@ -317,6 +323,7 @@ public partial class Order : BaseEntity, ISoftDeletedEntity
/// <summary>
/// Gets or sets the shipping status
/// </summary>
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => ShippingStatusId")]
public ShippingStatus ShippingStatus
{
get => (ShippingStatus)ShippingStatusId;
@ -326,6 +333,7 @@ public partial class Order : BaseEntity, ISoftDeletedEntity
/// <summary>
/// Gets or sets the customer tax display type
/// </summary>
[ToonDescription(Purpose = "Enum wrapper", BusinessRule = "get, set => CustomerTaxDisplayTypeId")]
public TaxDisplayType CustomerTaxDisplayType
{
get => (TaxDisplayType)CustomerTaxDisplayTypeId;

View File

@ -1,8 +1,14 @@
namespace Nop.Core.Domain.Orders;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
/// <summary>
/// Represents an order item
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[ToonDescription("NopCommerce order item entity")]
public partial class OrderItem : BaseEntity
{
/// <summary>

View File

@ -1,13 +1,19 @@
namespace Nop.Core.Domain.Orders;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
namespace Nop.Core.Domain.Orders;
/// <summary>
/// Represents an order note
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[ToonDescription("NopCommerce order note entity")]
public partial class OrderNote : BaseEntity
{
/// <summary>
/// Gets or sets the order identifier
/// </summary>
[ToonDescription($"Foreign key to parent {nameof(Order)}", ForeignKey = nameof(Order))]
public int OrderId { get; set; }
/// <summary>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,7 @@
using AyCode.Interfaces.Entities;
using AyCode.Core.Serializers.Attributes;
using AyCode.Core.Serializers.Toons;
using AyCode.Interfaces.Entities;
using LinqToDB.Mapping;
using Mango.Nop.Core.Interfaces;
namespace Nop.Core.Domain.Catalog;
@ -17,6 +20,9 @@ public interface IMgStockQuantityHistory
/// <summary>
/// Represents a stock quantity change entry
/// </summary>
[AcBinarySerializable(false, true, false, true)]
[Table(Name = nameof(StockQuantityHistory))]
[ToonDescription("NopCommerce stock movement log", Purpose = "Audit trail for physical and logical stock movements")]
public partial class StockQuantityHistory : BaseEntity, IMgStockQuantityHistory
{
/// <summary>

View File

@ -0,0 +1,17 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a download activation type
/// </summary>
public enum DownloadActivationType
{
/// <summary>
/// When order is paid
/// </summary>
WhenOrderIsPaid = 0,
/// <summary>
/// Manually
/// </summary>
Manually = 10,
}

View File

@ -0,0 +1,17 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a gift card type
/// </summary>
public enum GiftCardType
{
/// <summary>
/// Virtual
/// </summary>
Virtual = 0,
/// <summary>
/// Physical
/// </summary>
Physical = 1,
}

View File

@ -0,0 +1,22 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a low stock activity
/// </summary>
public enum LowStockActivity
{
/// <summary>
/// Nothing
/// </summary>
Nothing = 0,
/// <summary>
/// Disable buy button
/// </summary>
DisableBuyButton = 1,
/// <summary>
/// Unpublish
/// </summary>
Unpublish = 2,
}

View File

@ -0,0 +1,22 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a method of inventory management
/// </summary>
public enum ManageInventoryMethod
{
/// <summary>
/// Don't track inventory for product
/// </summary>
DontManageStock = 0,
/// <summary>
/// Track inventory for product
/// </summary>
ManageStock = 1,
/// <summary>
/// Track inventory for product by product attributes
/// </summary>
ManageStockByAttributes = 2,
}

View File

@ -0,0 +1,17 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a product type
/// </summary>
public enum ProductType
{
/// <summary>
/// Simple
/// </summary>
SimpleProduct = 5,
/// <summary>
/// Grouped (product with variants)
/// </summary>
GroupedProduct = 10,
}

View File

@ -0,0 +1,27 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a recurring product cycle period
/// </summary>
public enum RecurringProductCyclePeriod
{
/// <summary>
/// Days
/// </summary>
Days = 0,
/// <summary>
/// Weeks
/// </summary>
Weeks = 10,
/// <summary>
/// Months
/// </summary>
Months = 20,
/// <summary>
/// Years
/// </summary>
Years = 30,
}

View File

@ -0,0 +1,27 @@
namespace Nop.Core.Domain.Catalog;
/// <summary>
/// Represents a rental product period (for prices)
/// </summary>
public enum RentalPricePeriod
{
/// <summary>
/// Days
/// </summary>
Days = 0,
/// <summary>
/// Weeks
/// </summary>
Weeks = 10,
/// <summary>
/// Months
/// </summary>
Months = 20,
/// <summary>
/// Years
/// </summary>
Years = 30,
}

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
@ -23,25 +23,25 @@
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Core.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Utils.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
@ -25,25 +25,25 @@
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Core.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Core.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Entities.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces.Server">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Interfaces.Server.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Interfaces.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Utils.dll</HintPath>
<HintPath>..\..\..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\$(Configuration)\net9.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>