ac3f34e4f3
Added .gitignore, solution, and project files for .NET 10. Introduced AGENTS.md and PLAN.md for guidelines and planning. Implemented appsettings.json, launchSettings.json, and MySQL config. Created AppDBContext and all domain models with composite keys. Added IUnitOfWork and EFUnitOfWork. Structured feature folders for Region, Route, Vehicle, Store, Warehouse, and Order with DTOs, repositories, services, and controllers. Added initial EF Core migrations and sample HTTP request. Registered dependencies and enabled OpenAPI in development.
354 lines
11 KiB
C#
354 lines
11 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using Distribution.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
#nullable disable
|
|
|
|
namespace Distribution.Migrations
|
|
{
|
|
[DbContext(typeof(AppDBContext))]
|
|
[Migration("20260812090735_init")]
|
|
partial class init
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "10.0.7")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 64);
|
|
|
|
modelBuilder.Entity("Distribution.Models.DeliveryRun", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<Guid>("FK_RouteId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<Guid>("FK_VehicleId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<int>("Meterend")
|
|
.HasColumnType("int");
|
|
|
|
b.Property<int>("Meterstart")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FK_RouteId");
|
|
|
|
b.HasIndex("FK_VehicleId");
|
|
|
|
b.ToTable("DeliveryRuns");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Item", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Items");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Order", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<Guid>("FK_StoreId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<DateTime>("OrderDate")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<decimal>("TotalAmount")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("FK_StoreId");
|
|
|
|
b.ToTable("Orders");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.OrderItem", b =>
|
|
{
|
|
b.Property<Guid>("FK_OrderId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<Guid>("FK_ItemId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<int>("Quantity")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("FK_OrderId", "FK_ItemId");
|
|
|
|
b.HasIndex("FK_ItemId");
|
|
|
|
b.ToTable("OrderItems");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Region", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Regions");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Route", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<string>("EndPoint")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<decimal>("Length")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<string>("RouteName")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<string>("StartPoint")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Routes");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.SaleRoute", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("SaleRoutes");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Store", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<decimal>("CreditAmount")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<decimal>("Latitude")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<decimal>("Longitude")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<decimal>("OneTimeAmount")
|
|
.HasColumnType("decimal(18,2)");
|
|
|
|
b.Property<string>("OwnerName")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<string>("StoreAddress")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<string>("StoreName")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Stores");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Vehicle", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<string>("NumberPlate")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<string>("RegNumber")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<int>("Type")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Vehicles");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Warehouse", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<DateTime>("CreatedAt")
|
|
.HasColumnType("datetime(6)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("tinyint(1)");
|
|
|
|
b.Property<string>("Location")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("longtext");
|
|
|
|
b.Property<Guid?>("VehicleId")
|
|
.HasColumnType("char(36)");
|
|
|
|
b.Property<int>("type")
|
|
.HasColumnType("int");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("VehicleId");
|
|
|
|
b.ToTable("Warehouses");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.DeliveryRun", b =>
|
|
{
|
|
b.HasOne("Distribution.Models.Route", "Route")
|
|
.WithMany()
|
|
.HasForeignKey("FK_RouteId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Distribution.Models.Vehicle", "Vehicle")
|
|
.WithMany()
|
|
.HasForeignKey("FK_VehicleId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Route");
|
|
|
|
b.Navigation("Vehicle");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Order", b =>
|
|
{
|
|
b.HasOne("Distribution.Models.Store", "Store")
|
|
.WithMany()
|
|
.HasForeignKey("FK_StoreId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Store");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.OrderItem", b =>
|
|
{
|
|
b.HasOne("Distribution.Models.Item", "Item")
|
|
.WithMany()
|
|
.HasForeignKey("FK_ItemId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Distribution.Models.Order", "Order")
|
|
.WithMany()
|
|
.HasForeignKey("FK_OrderId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Item");
|
|
|
|
b.Navigation("Order");
|
|
});
|
|
|
|
modelBuilder.Entity("Distribution.Models.Warehouse", b =>
|
|
{
|
|
b.HasOne("Distribution.Models.Vehicle", "Vehicle")
|
|
.WithMany()
|
|
.HasForeignKey("VehicleId");
|
|
|
|
b.Navigation("Vehicle");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|