Refactor sales pipeline: ShopPO, Invoice, SysConfig models
Major refactor replacing Sale/Order with ShopPO → Invoice → LoadingSheet flow. Removed legacy Sale/Order models and features; introduced ShopPO, ShopPOItem, Invoice, LoadingSheetOrder, and SysConfig models. Updated related entities, enums, repositories, and controllers. Added new migrations for schema changes and system config. Overhauled business logic and DI registrations. Updated documentation with migration plan.
This commit is contained in:
+4026
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,961 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||
|
||||
namespace Distribution.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class RefactorSalesToShopPOAndInvoice : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_DeliveryRuns_Routes_FK_RouteId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_DeliveryRuns_Warehouses_FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_DeliveryTasks_Orders_FK_OrderId",
|
||||
table: "DeliveryTasks");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_LoadingSheetItems_LoadingSheets_FK_LoadingSheetId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_LoadingSheets_Warehouses_FK_SourceWarehouseId",
|
||||
table: "LoadingSheets");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Payments_Sales_FK_SaleId",
|
||||
table: "Payments");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Payments_Stores_FK_StoreId",
|
||||
table: "Payments");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_SaleReturns_Orders_FK_OrderId",
|
||||
table: "SaleReturns");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_SchemeRedemptions_Orders_FK_OrderId",
|
||||
table: "SchemeRedemptions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "OrderItems");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Orders");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Sales");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Payments_FK_SaleId",
|
||||
table: "Payments");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_LoadingSheets_FK_SourceWarehouseId",
|
||||
table: "LoadingSheets");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_DeliveryRuns_FK_RouteId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_DeliveryRuns_FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FK_SaleId",
|
||||
table: "Payments");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "DispatchConfirmedAt",
|
||||
table: "LoadingSheets");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "DispatchConfirmedBy",
|
||||
table: "LoadingSheets");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "QuantityReceived",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "QuantityResolved",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ActivatedAt",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FK_RouteId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RideType",
|
||||
table: "DeliveryRuns");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_OrderId",
|
||||
table: "SchemeRedemptions",
|
||||
newName: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_SchemeRedemptions_FK_OrderId",
|
||||
table: "SchemeRedemptions",
|
||||
newName: "IX_SchemeRedemptions_FK_ShopPOId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_OrderId",
|
||||
table: "SaleReturns",
|
||||
newName: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_SaleReturns_FK_OrderId",
|
||||
table: "SaleReturns",
|
||||
newName: "IX_SaleReturns_FK_ShopPOId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_StoreId",
|
||||
table: "Payments",
|
||||
newName: "FK_InvoiceId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_Payments_FK_StoreId",
|
||||
table: "Payments",
|
||||
newName: "IX_Payments_FK_InvoiceId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ReceiptConfirmedBy",
|
||||
table: "LoadingSheets",
|
||||
newName: "ConfirmedBy");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ReceiptConfirmedAt",
|
||||
table: "LoadingSheets",
|
||||
newName: "ConfirmedAt");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_SourceWarehouseId",
|
||||
table: "LoadingSheets",
|
||||
newName: "PopulatedBy");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_OrderId",
|
||||
table: "DeliveryTasks",
|
||||
newName: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_DeliveryTasks_FK_OrderId",
|
||||
table: "DeliveryTasks",
|
||||
newName: "IX_DeliveryTasks_FK_ShopPOId");
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "PopulatedAt",
|
||||
table: "LoadingSheets",
|
||||
type: "datetime(6)",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "CreatedAt",
|
||||
table: "LoadingSheetItems",
|
||||
type: "datetime(6)",
|
||||
nullable: false,
|
||||
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "FK_WarehouseId",
|
||||
table: "LoadingSheetItems",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "IsActive",
|
||||
table: "LoadingSheetItems",
|
||||
type: "tinyint(1)",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ShopPOs",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_StoreId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
RaisedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
InvoiceId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
TotalAmount = table.Column<decimal>(type: "decimal(65,30)", nullable: false),
|
||||
Status = table.Column<int>(type: "int", nullable: false),
|
||||
ConfirmedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
ConfirmedBy = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
FulfilledAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ShopPOs", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ShopPOs_Stores_FK_StoreId",
|
||||
column: x => x.FK_StoreId,
|
||||
principalTable: "Stores",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Invoices",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_ShopPOId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Status = table.Column<int>(type: "int", nullable: false),
|
||||
PaymentStatus = table.Column<int>(type: "int", nullable: false),
|
||||
CreatedBy = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
PrintedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
PrintedBy = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
FinalizedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
FinalizedBy = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
TotalAmount = table.Column<decimal>(type: "decimal(65,30)", nullable: false),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Invoices", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Invoices_ShopPOs_FK_ShopPOId",
|
||||
column: x => x.FK_ShopPOId,
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "LoadingSheetOrders",
|
||||
columns: table => new
|
||||
{
|
||||
FK_LoadingSheetId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_ShopPOId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_LoadingSheetOrders", x => new { x.FK_LoadingSheetId, x.FK_ShopPOId });
|
||||
table.ForeignKey(
|
||||
name: "FK_LoadingSheetOrders_LoadingSheets_FK_LoadingSheetId",
|
||||
column: x => x.FK_LoadingSheetId,
|
||||
principalTable: "LoadingSheets",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_LoadingSheetOrders_ShopPOs_FK_ShopPOId",
|
||||
column: x => x.FK_ShopPOId,
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ShopPOItems",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_ShopPOId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_ItemId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
Quantity = table.Column<int>(type: "int", nullable: false),
|
||||
QuantityFulfilled = table.Column<int>(type: "int", nullable: false),
|
||||
UnitPrice = table.Column<decimal>(type: "decimal(65,30)", nullable: false),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ShopPOItems", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ShopPOItems_Items_FK_ItemId",
|
||||
column: x => x.FK_ItemId,
|
||||
principalTable: "Items",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_ShopPOItems_ShopPOs_FK_ShopPOId",
|
||||
column: x => x.FK_ShopPOId,
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DeliveryRuns",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("31000000-0000-0000-0000-000000000001"),
|
||||
column: "Status",
|
||||
value: 2);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DeliveryRuns",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("31000000-0000-0000-0000-000000000002"),
|
||||
column: "Status",
|
||||
value: 0);
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheetItems",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("36000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "CreatedAt", "FK_ShopPOItemId", "FK_WarehouseId", "IsActive" },
|
||||
values: new object[] { new DateTime(2026, 8, 25, 7, 30, 0, 0, DateTimeKind.Unspecified), null, new Guid("27000000-0000-0000-0000-000000000001"), true });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheetItems",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("36000000-0000-0000-0000-000000000002"),
|
||||
columns: new[] { "CreatedAt", "FK_ShopPOItemId", "FK_WarehouseId", "IsActive" },
|
||||
values: new object[] { new DateTime(2026, 8, 25, 7, 30, 0, 0, DateTimeKind.Unspecified), null, new Guid("27000000-0000-0000-0000-000000000001"), true });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheets",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("35000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "ConfirmedAt", "ConfirmedBy", "PopulatedAt", "PopulatedBy", "Status" },
|
||||
values: new object[] { new DateTime(2026, 8, 25, 7, 45, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 7, 30, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000001"), 1 });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Payments",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("47000000-0000-0000-0000-000000000001"),
|
||||
column: "FK_InvoiceId",
|
||||
value: new Guid("34500000-0000-0000-0000-000000000001"));
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "ShopPOs",
|
||||
columns: new[] { "Id", "ConfirmedAt", "ConfirmedBy", "CreatedAt", "FK_StoreId", "FulfilledAt", "InvoiceId", "IsActive", "RaisedById", "Status", "TotalAmount" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("33000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 8, 30, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("26000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 13, 0, 0, 0, DateTimeKind.Unspecified), new Guid("34500000-0000-0000-0000-000000000001"), true, new Guid("29000000-0000-0000-0000-000000000002"), 2, 3000m },
|
||||
{ new Guid("33000000-0000-0000-0000-000000000002"), null, null, new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), new Guid("26000000-0000-0000-0000-000000000005"), null, null, true, new Guid("29000000-0000-0000-0000-000000000003"), 0, 1200m }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "Invoices",
|
||||
columns: new[] { "Id", "CreatedAt", "CreatedBy", "FK_ShopPOId", "FinalizedAt", "FinalizedBy", "IsActive", "PaymentStatus", "PrintedAt", "PrintedBy", "Status", "TotalAmount" },
|
||||
values: new object[] { new Guid("34500000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 8, 30, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000002"), new Guid("33000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000001"), true, 2, new DateTime(2026, 8, 25, 8, 45, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000002"), 2, 3000m });
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "ShopPOItems",
|
||||
columns: new[] { "Id", "CreatedAt", "FK_ItemId", "FK_ShopPOId", "IsActive", "Quantity", "QuantityFulfilled", "UnitPrice" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("34000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("23000000-0000-0000-0000-000000000001"), new Guid("33000000-0000-0000-0000-000000000001"), true, 30, 30, 60m },
|
||||
{ new Guid("34000000-0000-0000-0000-000000000002"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("23000000-0000-0000-0000-000000000003"), new Guid("33000000-0000-0000-0000-000000000001"), true, 24, 24, 50m },
|
||||
{ new Guid("34000000-0000-0000-0000-000000000003"), new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), new Guid("23000000-0000-0000-0000-000000000002"), new Guid("33000000-0000-0000-0000-000000000002"), true, 10, 0, 120m }
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_LoadingSheetItems_FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_ShopPOItemId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_LoadingSheetItems_FK_WarehouseId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_WarehouseId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Invoices_FK_ShopPOId",
|
||||
table: "Invoices",
|
||||
column: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_LoadingSheetOrders_FK_ShopPOId",
|
||||
table: "LoadingSheetOrders",
|
||||
column: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ShopPOItems_FK_ItemId",
|
||||
table: "ShopPOItems",
|
||||
column: "FK_ItemId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ShopPOItems_FK_ShopPOId",
|
||||
table: "ShopPOItems",
|
||||
column: "FK_ShopPOId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ShopPOs_FK_StoreId",
|
||||
table: "ShopPOs",
|
||||
column: "FK_StoreId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DeliveryTasks_ShopPOs_FK_ShopPOId",
|
||||
table: "DeliveryTasks",
|
||||
column: "FK_ShopPOId",
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_LoadingSheetItems_LoadingSheets_FK_LoadingSheetId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_LoadingSheetId",
|
||||
principalTable: "LoadingSheets",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_LoadingSheetItems_ShopPOItems_FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_ShopPOItemId",
|
||||
principalTable: "ShopPOItems",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.SetNull);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_LoadingSheetItems_Warehouses_FK_WarehouseId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_WarehouseId",
|
||||
principalTable: "Warehouses",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Payments_Invoices_FK_InvoiceId",
|
||||
table: "Payments",
|
||||
column: "FK_InvoiceId",
|
||||
principalTable: "Invoices",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_SaleReturns_ShopPOs_FK_ShopPOId",
|
||||
table: "SaleReturns",
|
||||
column: "FK_ShopPOId",
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_SchemeRedemptions_ShopPOs_FK_ShopPOId",
|
||||
table: "SchemeRedemptions",
|
||||
column: "FK_ShopPOId",
|
||||
principalTable: "ShopPOs",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_DeliveryTasks_ShopPOs_FK_ShopPOId",
|
||||
table: "DeliveryTasks");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_LoadingSheetItems_LoadingSheets_FK_LoadingSheetId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_LoadingSheetItems_ShopPOItems_FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_LoadingSheetItems_Warehouses_FK_WarehouseId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Payments_Invoices_FK_InvoiceId",
|
||||
table: "Payments");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_SaleReturns_ShopPOs_FK_ShopPOId",
|
||||
table: "SaleReturns");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_SchemeRedemptions_ShopPOs_FK_ShopPOId",
|
||||
table: "SchemeRedemptions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Invoices");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "LoadingSheetOrders");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ShopPOItems");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ShopPOs");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_LoadingSheetItems_FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_LoadingSheetItems_FK_WarehouseId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PopulatedAt",
|
||||
table: "LoadingSheets");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "CreatedAt",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FK_ShopPOItemId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FK_WarehouseId",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IsActive",
|
||||
table: "LoadingSheetItems");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_ShopPOId",
|
||||
table: "SchemeRedemptions",
|
||||
newName: "FK_OrderId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_SchemeRedemptions_FK_ShopPOId",
|
||||
table: "SchemeRedemptions",
|
||||
newName: "IX_SchemeRedemptions_FK_OrderId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_ShopPOId",
|
||||
table: "SaleReturns",
|
||||
newName: "FK_OrderId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_SaleReturns_FK_ShopPOId",
|
||||
table: "SaleReturns",
|
||||
newName: "IX_SaleReturns_FK_OrderId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_InvoiceId",
|
||||
table: "Payments",
|
||||
newName: "FK_StoreId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_Payments_FK_InvoiceId",
|
||||
table: "Payments",
|
||||
newName: "IX_Payments_FK_StoreId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "PopulatedBy",
|
||||
table: "LoadingSheets",
|
||||
newName: "FK_SourceWarehouseId");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ConfirmedBy",
|
||||
table: "LoadingSheets",
|
||||
newName: "ReceiptConfirmedBy");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ConfirmedAt",
|
||||
table: "LoadingSheets",
|
||||
newName: "ReceiptConfirmedAt");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "FK_ShopPOId",
|
||||
table: "DeliveryTasks",
|
||||
newName: "FK_OrderId");
|
||||
|
||||
migrationBuilder.RenameIndex(
|
||||
name: "IX_DeliveryTasks_FK_ShopPOId",
|
||||
table: "DeliveryTasks",
|
||||
newName: "IX_DeliveryTasks_FK_OrderId");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "FK_SaleId",
|
||||
table: "Payments",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "DispatchConfirmedAt",
|
||||
table: "LoadingSheets",
|
||||
type: "datetime(6)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "DispatchConfirmedBy",
|
||||
table: "LoadingSheets",
|
||||
type: "char(36)",
|
||||
nullable: true,
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<decimal>(
|
||||
name: "QuantityReceived",
|
||||
table: "LoadingSheetItems",
|
||||
type: "decimal(65,30)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<decimal>(
|
||||
name: "QuantityResolved",
|
||||
table: "LoadingSheetItems",
|
||||
type: "decimal(65,30)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<DateTime>(
|
||||
name: "ActivatedAt",
|
||||
table: "DeliveryRuns",
|
||||
type: "datetime(6)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "FK_RouteId",
|
||||
table: "DeliveryRuns",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns",
|
||||
type: "char(36)",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
|
||||
collation: "ascii_general_ci");
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "RideType",
|
||||
table: "DeliveryRuns",
|
||||
type: "int",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Sales",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
CreatedByUserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_RideId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
|
||||
FK_StoreId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
CompletedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
FulfillImmediately = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
PaymentStatus = table.Column<int>(type: "int", nullable: false),
|
||||
SaleDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
Status = table.Column<int>(type: "int", nullable: false),
|
||||
TotalAmount = table.Column<decimal>(type: "decimal(65,30)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Sales", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Sales_DeliveryRuns_FK_RideId",
|
||||
column: x => x.FK_RideId,
|
||||
principalTable: "DeliveryRuns",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Sales_Stores_FK_StoreId",
|
||||
column: x => x.FK_StoreId,
|
||||
principalTable: "Stores",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Sales_Users_CreatedByUserId",
|
||||
column: x => x.CreatedByUserId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Orders",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_SaleId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_StoreId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
FulfilledAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
OrderDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
Status = table.Column<int>(type: "int", nullable: false),
|
||||
TotalAmount = table.Column<decimal>(type: "decimal(65,30)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Orders", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Orders_Sales_FK_SaleId",
|
||||
column: x => x.FK_SaleId,
|
||||
principalTable: "Sales",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_Orders_Stores_FK_StoreId",
|
||||
column: x => x.FK_StoreId,
|
||||
principalTable: "Stores",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "OrderItems",
|
||||
columns: table => new
|
||||
{
|
||||
FK_OrderId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
FK_ItemId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
|
||||
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
|
||||
Quantity = table.Column<int>(type: "int", nullable: false),
|
||||
QuantityFulfilled = table.Column<int>(type: "int", nullable: false),
|
||||
UnitPrice = table.Column<decimal>(type: "decimal(65,30)", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_OrderItems", x => new { x.FK_OrderId, x.FK_ItemId });
|
||||
table.ForeignKey(
|
||||
name: "FK_OrderItems_Items_FK_ItemId",
|
||||
column: x => x.FK_ItemId,
|
||||
principalTable: "Items",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_OrderItems_Orders_FK_OrderId",
|
||||
column: x => x.FK_OrderId,
|
||||
principalTable: "Orders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DeliveryRuns",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("31000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "ActivatedAt", "FK_RouteId", "FK_SourceWarehouseId", "RideType", "Status" },
|
||||
values: new object[] { new DateTime(2026, 8, 25, 8, 15, 0, 0, DateTimeKind.Unspecified), new Guid("25000000-0000-0000-0000-000000000001"), new Guid("27000000-0000-0000-0000-000000000001"), 1, 5 });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "DeliveryRuns",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("31000000-0000-0000-0000-000000000002"),
|
||||
columns: new[] { "ActivatedAt", "FK_RouteId", "FK_SourceWarehouseId", "RideType", "Status" },
|
||||
values: new object[] { new DateTime(2026, 8, 30, 9, 20, 0, 0, DateTimeKind.Unspecified), new Guid("25000000-0000-0000-0000-000000000003"), new Guid("27000000-0000-0000-0000-000000000002"), 0, 2 });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheetItems",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("36000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "QuantityReceived", "QuantityResolved" },
|
||||
values: new object[] { 50m, null });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheetItems",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("36000000-0000-0000-0000-000000000002"),
|
||||
columns: new[] { "QuantityReceived", "QuantityResolved" },
|
||||
values: new object[] { 30m, null });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "LoadingSheets",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("35000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "DispatchConfirmedAt", "DispatchConfirmedBy", "FK_SourceWarehouseId", "ReceiptConfirmedAt", "ReceiptConfirmedBy", "Status" },
|
||||
values: new object[] { new DateTime(2026, 8, 25, 7, 45, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000001"), new Guid("27000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 14, 5, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000004"), 2 });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "Payments",
|
||||
keyColumn: "Id",
|
||||
keyValue: new Guid("47000000-0000-0000-0000-000000000001"),
|
||||
columns: new[] { "FK_SaleId", "FK_StoreId" },
|
||||
values: new object[] { new Guid("32000000-0000-0000-0000-000000000001"), new Guid("26000000-0000-0000-0000-000000000001") });
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "Sales",
|
||||
columns: new[] { "Id", "CompletedAt", "CreatedAt", "CreatedByUserId", "FK_RideId", "FK_StoreId", "FulfillImmediately", "IsActive", "PaymentStatus", "SaleDate", "Status", "TotalAmount" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("32000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 30, 0, 0, DateTimeKind.Unspecified), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000002"), new Guid("31000000-0000-0000-0000-000000000001"), new Guid("26000000-0000-0000-0000-000000000001"), false, true, 2, new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), 1, 3000m },
|
||||
{ new Guid("32000000-0000-0000-0000-000000000002"), null, new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), new Guid("29000000-0000-0000-0000-000000000003"), new Guid("31000000-0000-0000-0000-000000000002"), new Guid("26000000-0000-0000-0000-000000000005"), false, true, 0, new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), 0, 1200m }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "Orders",
|
||||
columns: new[] { "Id", "CreatedAt", "FK_SaleId", "FK_StoreId", "FulfilledAt", "IsActive", "OrderDate", "Status", "TotalAmount" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("33000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("32000000-0000-0000-0000-000000000001"), new Guid("26000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 13, 0, 0, 0, DateTimeKind.Unspecified), true, new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), 2, 3000m },
|
||||
{ new Guid("33000000-0000-0000-0000-000000000002"), new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), new Guid("32000000-0000-0000-0000-000000000002"), new Guid("26000000-0000-0000-0000-000000000005"), null, true, new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), 0, 1200m }
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "OrderItems",
|
||||
columns: new[] { "FK_ItemId", "FK_OrderId", "CreatedAt", "Id", "IsActive", "Quantity", "QuantityFulfilled", "UnitPrice" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ new Guid("23000000-0000-0000-0000-000000000001"), new Guid("33000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("34000000-0000-0000-0000-000000000001"), true, 30, 30, 60m },
|
||||
{ new Guid("23000000-0000-0000-0000-000000000003"), new Guid("33000000-0000-0000-0000-000000000001"), new DateTime(2026, 8, 25, 9, 0, 0, 0, DateTimeKind.Unspecified), new Guid("34000000-0000-0000-0000-000000000002"), true, 24, 24, 50m },
|
||||
{ new Guid("23000000-0000-0000-0000-000000000002"), new Guid("33000000-0000-0000-0000-000000000002"), new DateTime(2026, 8, 30, 10, 0, 0, 0, DateTimeKind.Unspecified), new Guid("34000000-0000-0000-0000-000000000003"), true, 10, 0, 120m }
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Payments_FK_SaleId",
|
||||
table: "Payments",
|
||||
column: "FK_SaleId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_LoadingSheets_FK_SourceWarehouseId",
|
||||
table: "LoadingSheets",
|
||||
column: "FK_SourceWarehouseId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_DeliveryRuns_FK_RouteId",
|
||||
table: "DeliveryRuns",
|
||||
column: "FK_RouteId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_DeliveryRuns_FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns",
|
||||
column: "FK_SourceWarehouseId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_OrderItems_FK_ItemId",
|
||||
table: "OrderItems",
|
||||
column: "FK_ItemId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Orders_FK_SaleId",
|
||||
table: "Orders",
|
||||
column: "FK_SaleId",
|
||||
unique: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Orders_FK_StoreId",
|
||||
table: "Orders",
|
||||
column: "FK_StoreId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Sales_CreatedByUserId",
|
||||
table: "Sales",
|
||||
column: "CreatedByUserId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Sales_FK_RideId",
|
||||
table: "Sales",
|
||||
column: "FK_RideId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Sales_FK_StoreId",
|
||||
table: "Sales",
|
||||
column: "FK_StoreId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DeliveryRuns_Routes_FK_RouteId",
|
||||
table: "DeliveryRuns",
|
||||
column: "FK_RouteId",
|
||||
principalTable: "Routes",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DeliveryRuns_Warehouses_FK_SourceWarehouseId",
|
||||
table: "DeliveryRuns",
|
||||
column: "FK_SourceWarehouseId",
|
||||
principalTable: "Warehouses",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_DeliveryTasks_Orders_FK_OrderId",
|
||||
table: "DeliveryTasks",
|
||||
column: "FK_OrderId",
|
||||
principalTable: "Orders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_LoadingSheetItems_LoadingSheets_FK_LoadingSheetId",
|
||||
table: "LoadingSheetItems",
|
||||
column: "FK_LoadingSheetId",
|
||||
principalTable: "LoadingSheets",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_LoadingSheets_Warehouses_FK_SourceWarehouseId",
|
||||
table: "LoadingSheets",
|
||||
column: "FK_SourceWarehouseId",
|
||||
principalTable: "Warehouses",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Payments_Sales_FK_SaleId",
|
||||
table: "Payments",
|
||||
column: "FK_SaleId",
|
||||
principalTable: "Sales",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Payments_Stores_FK_StoreId",
|
||||
table: "Payments",
|
||||
column: "FK_StoreId",
|
||||
principalTable: "Stores",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_SaleReturns_Orders_FK_OrderId",
|
||||
table: "SaleReturns",
|
||||
column: "FK_OrderId",
|
||||
principalTable: "Orders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_SchemeRedemptions_Orders_FK_OrderId",
|
||||
table: "SchemeRedemptions",
|
||||
column: "FK_OrderId",
|
||||
principalTable: "Orders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace Distribution.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddSysConfig : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SysConfigs",
|
||||
columns: table => new
|
||||
{
|
||||
Key = table.Column<string>(type: "varchar(100)", maxLength: 100, nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
Value = table.Column<string>(type: "longtext", nullable: false)
|
||||
.Annotation("MySql:CharSet", "utf8mb4"),
|
||||
UpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
|
||||
UpdatedBy = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SysConfigs", x => x.Key);
|
||||
})
|
||||
.Annotation("MySql:CharSet", "utf8mb4");
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "SysConfigs",
|
||||
columns: new[] { "Key", "UpdatedAt", "UpdatedBy", "Value" },
|
||||
values: new object[] { "InvoiceCreationMode", new DateTime(2026, 9, 17, 0, 0, 0, 0, DateTimeKind.Unspecified), null, "ModeB" });
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "SysConfigs");
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user