Relate Users and Orders, + migrations
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
using Imprink.Domain.Entities.Users;
|
||||||
|
|
||||||
namespace Imprink.Domain.Entities.Orders;
|
namespace Imprink.Domain.Entities.Orders;
|
||||||
|
|
||||||
public class Order : EntityBase
|
public class Order : EntityBase
|
||||||
@@ -11,6 +13,7 @@ public class Order : EntityBase
|
|||||||
public string Notes { get; set; } = null!;
|
public string Notes { get; set; } = null!;
|
||||||
|
|
||||||
public OrderStatus OrderStatus { get; set; } = null!;
|
public OrderStatus OrderStatus { get; set; } = null!;
|
||||||
|
public User User { get; set; } = null!;
|
||||||
public ShippingStatus ShippingStatus { get; set; } = null!;
|
public ShippingStatus ShippingStatus { get; set; } = null!;
|
||||||
public OrderAddress OrderAddress { get; set; } = null!;
|
public OrderAddress OrderAddress { get; set; } = null!;
|
||||||
public virtual ICollection<OrderItem> OrderItems { get; set; } = new List<OrderItem>();
|
public virtual ICollection<OrderItem> OrderItems { get; set; } = new List<OrderItem>();
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
using Imprink.Domain.Entities.Orders;
|
||||||
|
|
||||||
namespace Imprink.Domain.Entities.Users;
|
namespace Imprink.Domain.Entities.Users;
|
||||||
|
|
||||||
public class User : EntityBase
|
public class User : EntityBase
|
||||||
@@ -13,6 +15,7 @@ public class User : EntityBase
|
|||||||
|
|
||||||
public virtual ICollection<Address> Addresses { get; set; } = new List<Address>();
|
public virtual ICollection<Address> Addresses { get; set; } = new List<Address>();
|
||||||
public virtual ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
|
public virtual ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
|
||||||
|
public virtual ICollection<Order> Orders { get; set; } = new List<Order>();
|
||||||
|
|
||||||
public string FullName => $"{FirstName} {LastName}";
|
public string FullName => $"{FirstName} {LastName}";
|
||||||
public Address? DefaultAddress => Addresses.FirstOrDefault(a => a.IsDefault && a.IsActive);
|
public Address? DefaultAddress => Addresses.FirstOrDefault(a => a.IsDefault && a.IsActive);
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Common\Enums\" />
|
|
||||||
<Folder Include="Exceptions\" />
|
<Folder Include="Exceptions\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ public class OrderConfiguration : EntityBaseConfiguration<Order>
|
|||||||
.HasForeignKey<OrderAddress>(oa => oa.OrderId)
|
.HasForeignKey<OrderAddress>(oa => oa.OrderId)
|
||||||
.OnDelete(DeleteBehavior.Cascade);
|
.OnDelete(DeleteBehavior.Cascade);
|
||||||
|
|
||||||
|
builder.HasOne(o => o.User)
|
||||||
|
.WithMany(u => u.Orders)
|
||||||
|
.HasForeignKey(o => o.UserId)
|
||||||
|
.HasPrincipalKey(u => u.Id)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
builder.HasIndex(o => o.UserId)
|
builder.HasIndex(o => o.UserId)
|
||||||
.HasDatabaseName("IX_Order_UserId");
|
.HasDatabaseName("IX_Order_UserId");
|
||||||
|
|
||||||
|
|||||||
1033
src/Imprink.Infrastructure/Migrations/20250606162608_RelateUsersAndOrders.Designer.cs
generated
Normal file
1033
src/Imprink.Infrastructure/Migrations/20250606162608_RelateUsersAndOrders.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Imprink.Infrastructure.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class RelateUsersAndOrders : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Orders_User_UserId",
|
||||||
|
table: "Orders",
|
||||||
|
column: "UserId",
|
||||||
|
principalTable: "User",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Orders_User_UserId",
|
||||||
|
table: "Orders");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -867,9 +867,17 @@ namespace Imprink.Infrastructure.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Imprink.Domain.Entities.Users.User", "User")
|
||||||
|
.WithMany("Orders")
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("OrderStatus");
|
b.Navigation("OrderStatus");
|
||||||
|
|
||||||
b.Navigation("ShippingStatus");
|
b.Navigation("ShippingStatus");
|
||||||
|
|
||||||
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Imprink.Domain.Entities.Orders.OrderAddress", b =>
|
modelBuilder.Entity("Imprink.Domain.Entities.Orders.OrderAddress", b =>
|
||||||
@@ -1012,6 +1020,8 @@ namespace Imprink.Infrastructure.Migrations
|
|||||||
{
|
{
|
||||||
b.Navigation("Addresses");
|
b.Navigation("Addresses");
|
||||||
|
|
||||||
|
b.Navigation("Orders");
|
||||||
|
|
||||||
b.Navigation("UserRoles");
|
b.Navigation("UserRoles");
|
||||||
});
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
|
|||||||
Reference in New Issue
Block a user