Refactor folder structure

This commit is contained in:
lumijiez
2025-06-20 15:48:48 +03:00
parent 7b721efb37
commit 30c010137a
26 changed files with 36 additions and 30 deletions

View File

@@ -0,0 +1,64 @@
using Imprink.Domain.Entities.Orders;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Imprink.Infrastructure.Orders.Configuration;
public class OrderItemConfiguration : EntityBaseConfiguration<OrderItem>
{
public override void Configure(EntityTypeBuilder<OrderItem> builder)
{
base.Configure(builder);
builder.Property(oi => oi.OrderId)
.IsRequired();
builder.Property(oi => oi.ProductId)
.IsRequired();
builder.Property(oi => oi.Quantity)
.IsRequired()
.HasDefaultValue(1);
builder.Property(oi => oi.UnitPrice)
.IsRequired()
.HasColumnType("decimal(18,2)");
builder.Property(oi => oi.TotalPrice)
.IsRequired()
.HasColumnType("decimal(18,2)");
builder.Property(oi => oi.CustomizationImageUrl)
.HasMaxLength(500);
builder.Property(oi => oi.CustomizationDescription)
.HasMaxLength(2000);
builder.HasOne(oi => oi.Order)
.WithMany(o => o.OrderItems)
.HasForeignKey(oi => oi.OrderId)
.OnDelete(DeleteBehavior.Cascade);
builder.HasOne(oi => oi.Product)
.WithMany(p => p.OrderItems)
.HasForeignKey(oi => oi.ProductId)
.OnDelete(DeleteBehavior.Restrict);
builder.HasOne(oi => oi.ProductVariant)
.WithMany(pv => pv.OrderItems)
.HasForeignKey(oi => oi.ProductVariantId)
.OnDelete(DeleteBehavior.Restrict);
builder.HasIndex(oi => oi.OrderId)
.HasDatabaseName("IX_OrderItem_OrderId");
builder.HasIndex(oi => oi.ProductId)
.HasDatabaseName("IX_OrderItem_ProductId");
builder.HasIndex(oi => oi.ProductVariantId)
.HasDatabaseName("IX_OrderItem_ProductVariantId");
builder.HasIndex(oi => new { oi.OrderId, oi.ProductId })
.HasDatabaseName("IX_OrderItem_Order_Product");
}
}