// using System; using Distribution.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Distribution.Migrations { [DbContext(typeof(AppDBContext))] partial class AppDBContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("Distribution.Models.Brand", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ExternalErpId") .HasColumnType("int"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Brands"); }); modelBuilder.Entity("Distribution.Models.Category", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("AllowCustomerReturn") .HasColumnType("tinyint(1)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ExternalErpId") .HasColumnType("int"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Categories"); }); modelBuilder.Entity("Distribution.Models.Claim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Details") .IsRequired() .HasColumnType("longtext"); b.Property("FK_AgencyUserId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("SettledAt") .HasColumnType("datetime(6)"); b.Property("SettledByUserId") .HasColumnType("char(36)"); b.Property("SettlementAmount") .HasColumnType("decimal(65,30)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_AgencyUserId"); b.HasIndex("SettledByUserId"); b.ToTable("Claims"); }); modelBuilder.Entity("Distribution.Models.CreditNote", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("Amount") .HasColumnType("decimal(65,30)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_SaleReturnId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("IssuedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_SaleReturnId"); b.ToTable("CreditNotes"); }); modelBuilder.Entity("Distribution.Models.DeliveryRun", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ActivatedAt") .HasColumnType("datetime(6)"); b.Property("ClosedAt") .HasColumnType("datetime(6)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_DriverProfileId") .HasColumnType("char(36)"); b.Property("FK_RouteId") .HasColumnType("char(36)"); b.Property("FK_SourceWarehouseId") .HasColumnType("char(36)"); b.Property("FK_VehicleId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Meterend") .HasColumnType("int"); b.Property("Meterstart") .HasColumnType("int"); b.Property("RideType") .HasColumnType("int"); b.Property("StartedAt") .HasColumnType("datetime(6)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_DriverProfileId"); b.HasIndex("FK_RouteId"); b.HasIndex("FK_SourceWarehouseId"); b.HasIndex("FK_VehicleId"); b.ToTable("DeliveryRuns"); }); modelBuilder.Entity("Distribution.Models.DeliveryTask", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ConfirmedAt") .HasColumnType("datetime(6)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CustomerConfirmed") .HasColumnType("tinyint(1)"); b.Property("FK_OrderId") .HasColumnType("char(36)"); b.Property("FK_RideId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Note") .HasColumnType("longtext"); b.Property("Sequence") .HasColumnType("int"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_OrderId"); b.HasIndex("FK_RideId"); b.ToTable("DeliveryTasks"); }); modelBuilder.Entity("Distribution.Models.DriverComplianceConfig", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("EnforceLicenseExpiry") .HasColumnType("tinyint(1)"); b.Property("EnforceMedicalClearance") .HasColumnType("tinyint(1)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("UpdatedBy") .HasColumnType("char(36)"); b.HasKey("Id"); b.ToTable("DriverComplianceConfigs"); }); modelBuilder.Entity("Distribution.Models.DriverProfile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_UserId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("LicenseExpiry") .HasColumnType("datetime(6)"); b.Property("LicenseNumber") .IsRequired() .HasColumnType("longtext"); b.Property("MedicalClearanceExpiry") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_UserId") .IsUnique(); b.ToTable("DriverProfiles"); }); modelBuilder.Entity("Distribution.Models.GoodsReceipt", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_PurchaseOrderId") .HasColumnType("char(36)"); b.Property("FK_ReceivedByUserId") .HasColumnType("char(36)"); b.Property("FK_WarehouseId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("ReceivedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_PurchaseOrderId"); b.HasIndex("FK_WarehouseId"); b.ToTable("GoodsReceipts"); }); modelBuilder.Entity("Distribution.Models.GoodsReceiptItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("AcceptedQuantity") .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_GoodsReceiptId") .HasColumnType("char(36)"); b.Property("FK_PurchaseOrderItemId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("RejectedQuantity") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_GoodsReceiptId"); b.HasIndex("FK_PurchaseOrderItemId"); b.ToTable("GoodsReceiptItems"); }); modelBuilder.Entity("Distribution.Models.Item", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CostPrice") .HasColumnType("decimal(65,30)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Description") .HasColumnType("longtext"); b.Property("ExternalErpItemId") .HasColumnType("int"); b.Property("FK_BaseUomId") .HasColumnType("char(36)"); b.Property("FK_BrandId") .HasColumnType("char(36)"); b.Property("FK_CategoryId") .HasColumnType("char(36)"); b.Property("FK_SubCategoryId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("LastSyncedAt") .HasColumnType("datetime(6)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("SalePrice") .HasColumnType("decimal(65,30)"); b.Property("Sku") .IsRequired() .HasColumnType("longtext"); b.Property("SyncSource") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_BaseUomId"); b.HasIndex("FK_BrandId"); b.HasIndex("FK_CategoryId"); b.HasIndex("FK_SubCategoryId"); b.ToTable("Items"); }); modelBuilder.Entity("Distribution.Models.LoadingSheet", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DispatchConfirmedAt") .HasColumnType("datetime(6)"); b.Property("DispatchConfirmedBy") .HasColumnType("char(36)"); b.Property("FK_RideId") .HasColumnType("char(36)"); b.Property("FK_SourceWarehouseId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("ReceiptConfirmedAt") .HasColumnType("datetime(6)"); b.Property("ReceiptConfirmedBy") .HasColumnType("char(36)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_RideId"); b.HasIndex("FK_SourceWarehouseId"); b.ToTable("LoadingSheets"); }); modelBuilder.Entity("Distribution.Models.LoadingSheetItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_LoadingSheetId") .HasColumnType("char(36)"); b.Property("QuantityDispatched") .HasColumnType("decimal(65,30)"); b.Property("QuantityReceived") .HasColumnType("decimal(65,30)"); b.Property("QuantityResolved") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_LoadingSheetId"); b.ToTable("LoadingSheetItems"); }); modelBuilder.Entity("Distribution.Models.Order", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_SaleId") .HasColumnType("char(36)"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("FulfilledAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("OrderDate") .HasColumnType("datetime(6)"); b.Property("Status") .HasColumnType("int"); b.Property("TotalAmount") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_SaleId") .IsUnique(); b.HasIndex("FK_StoreId"); b.ToTable("Orders"); }); modelBuilder.Entity("Distribution.Models.OrderItem", b => { b.Property("FK_OrderId") .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Id") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Quantity") .HasColumnType("int"); b.Property("QuantityFulfilled") .HasColumnType("int"); b.Property("UnitPrice") .HasColumnType("decimal(65,30)"); b.HasKey("FK_OrderId", "FK_ItemId"); b.HasIndex("FK_ItemId"); b.ToTable("OrderItems"); }); modelBuilder.Entity("Distribution.Models.Payment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("Amount") .HasColumnType("decimal(65,30)"); b.Property("CollectedAt") .HasColumnType("datetime(6)"); b.Property("CollectedBy") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_SaleId") .HasColumnType("char(36)"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Method") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_SaleId"); b.HasIndex("FK_StoreId"); b.ToTable("Payments"); }); modelBuilder.Entity("Distribution.Models.Permission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("Code") .IsRequired() .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Description") .IsRequired() .HasColumnType("longtext"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.ToTable("Permissions"); }); modelBuilder.Entity("Distribution.Models.PriceList", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("EffectiveFrom") .HasColumnType("datetime(6)"); b.Property("EffectiveTo") .HasColumnType("datetime(6)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_RegionId"); b.ToTable("PriceLists"); }); modelBuilder.Entity("Distribution.Models.PriceListItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_PriceListId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("MinPrice") .HasColumnType("decimal(65,30)"); b.Property("Price") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_PriceListId", "FK_ItemId") .IsUnique(); b.ToTable("PriceListItems"); }); modelBuilder.Entity("Distribution.Models.PurchaseOrder", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CancelReason") .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_CreatedByUserId") .HasColumnType("char(36)"); b.Property("FK_SupplierId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_SupplierId"); b.ToTable("PurchaseOrders"); }); modelBuilder.Entity("Distribution.Models.PurchaseOrderItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CancelledQuantity") .HasColumnType("int"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_PurchaseOrderId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("IsCancelled") .HasColumnType("tinyint(1)"); b.Property("Quantity") .HasColumnType("int"); b.Property("ReceivedQuantity") .HasColumnType("int"); b.Property("UnitCost") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_PurchaseOrderId"); b.ToTable("PurchaseOrderItems"); }); modelBuilder.Entity("Distribution.Models.PurchaseReturn", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_PurchaseOrderId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Reason") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_PurchaseOrderId"); b.ToTable("PurchaseReturns"); }); modelBuilder.Entity("Distribution.Models.PurchaseReturnItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_PurchaseReturnId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Quantity") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_PurchaseReturnId"); b.ToTable("PurchaseReturnItems"); }); modelBuilder.Entity("Distribution.Models.Region", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Regions"); }); modelBuilder.Entity("Distribution.Models.RegionAgencyMap", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_AgencyUserId") .HasColumnType("char(36)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.HasIndex("FK_AgencyUserId"); b.HasIndex("FK_RegionId", "FK_AgencyUserId") .IsUnique(); b.ToTable("RegionAgencyMaps"); }); modelBuilder.Entity("Distribution.Models.RegionalBudget", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("BudgetAmount") .HasColumnType("decimal(65,30)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Period") .IsRequired() .HasColumnType("varchar(255)"); b.HasKey("Id"); b.HasIndex("FK_RegionId", "Period") .IsUnique(); b.ToTable("RegionalBudgets"); }); modelBuilder.Entity("Distribution.Models.RegionalTarget", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Period") .IsRequired() .HasColumnType("varchar(255)"); b.Property("TargetValue") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_RegionId", "Period") .IsUnique(); b.ToTable("RegionalTargets"); }); modelBuilder.Entity("Distribution.Models.RegionalTaxRule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("RuleConfig") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_RegionId") .IsUnique(); b.ToTable("RegionalTaxRules"); }); modelBuilder.Entity("Distribution.Models.RideCancelRequest", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ApprovedAt") .HasColumnType("datetime(6)"); b.Property("ApprovedBy") .HasColumnType("char(36)"); b.Property("FK_RideId") .HasColumnType("char(36)"); b.Property("Reason") .IsRequired() .HasColumnType("longtext"); b.Property("RequestedAt") .HasColumnType("datetime(6)"); b.Property("RequestedBy") .HasColumnType("char(36)"); b.Property("Status") .HasColumnType("int"); b.Property("TypeCode") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_RideId"); b.ToTable("RideCancelRequests"); }); modelBuilder.Entity("Distribution.Models.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Level") .HasColumnType("int"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Roles"); b.HasData( new { Id = new Guid("10000000-0000-0000-0000-000000000001"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 10, Name = "SalesRep" }, new { Id = new Guid("10000000-0000-0000-0000-000000000002"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 20, Name = "Supervisor" }, new { Id = new Guid("10000000-0000-0000-0000-000000000003"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 30, Name = "AreaManager" }, new { Id = new Guid("10000000-0000-0000-0000-000000000004"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 40, Name = "AreaSupervisor" }, new { Id = new Guid("10000000-0000-0000-0000-000000000005"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 50, Name = "RegionalManager" }, new { Id = new Guid("10000000-0000-0000-0000-000000000006"), CreatedAt = new DateTime(2026, 8, 18, 0, 0, 0, 0, DateTimeKind.Unspecified), IsActive = true, Level = 60, Name = "RegionalAgency" }); }); modelBuilder.Entity("Distribution.Models.RolePermission", b => { b.Property("FK_RoleId") .HasColumnType("char(36)"); b.Property("FK_PermissionId") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Id") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("FK_RoleId", "FK_PermissionId"); b.HasIndex("FK_PermissionId"); b.ToTable("RolePermissions"); }); modelBuilder.Entity("Distribution.Models.Route", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("EndPoint") .IsRequired() .HasColumnType("longtext"); b.Property("FK_OwnerUserId") .HasColumnType("char(36)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Length") .HasColumnType("decimal(65,30)"); b.Property("RouteName") .IsRequired() .HasColumnType("longtext"); b.Property("StartPoint") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_OwnerUserId"); b.HasIndex("FK_RegionId"); b.ToTable("Routes"); }); modelBuilder.Entity("Distribution.Models.RouteVisitLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CheckInAt") .HasColumnType("datetime(6)"); b.Property("CheckInLatitude") .HasColumnType("decimal(65,30)"); b.Property("CheckInLongitude") .HasColumnType("decimal(65,30)"); b.Property("CheckOutAt") .HasColumnType("datetime(6)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_RouteId") .HasColumnType("char(36)"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("FK_UserId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("IsDeviationFlagged") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.HasIndex("FK_RouteId"); b.HasIndex("FK_StoreId"); b.HasIndex("FK_UserId"); b.ToTable("RouteVisitLogs"); }); modelBuilder.Entity("Distribution.Models.Sale", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CompletedAt") .HasColumnType("datetime(6)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedByUserId") .HasColumnType("char(36)"); b.Property("FK_RideId") .HasColumnType("char(36)"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("FulfillImmediately") .HasColumnType("tinyint(1)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("PaymentStatus") .HasColumnType("int"); b.Property("SaleDate") .HasColumnType("datetime(6)"); b.Property("Status") .HasColumnType("int"); b.Property("TotalAmount") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("CreatedByUserId"); b.HasIndex("FK_RideId"); b.HasIndex("FK_StoreId"); b.ToTable("Sales"); }); modelBuilder.Entity("Distribution.Models.SaleReturn", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedByUserId") .HasColumnType("char(36)"); b.Property("FK_OrderId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Mode") .HasColumnType("int"); b.Property("TotalCreditAmount") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("CreatedByUserId"); b.HasIndex("FK_OrderId"); b.ToTable("SaleReturns"); }); modelBuilder.Entity("Distribution.Models.SaleReturnItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_SaleReturnId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Quantity") .HasColumnType("decimal(65,30)"); b.Property("ReasonCode") .HasColumnType("int"); b.Property("UnitPrice") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_SaleReturnId"); b.ToTable("SaleReturnItems"); }); modelBuilder.Entity("Distribution.Models.SaleRoute", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.ToTable("SaleRoutes"); }); modelBuilder.Entity("Distribution.Models.Scheme", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("AgentLimitExempt") .HasColumnType("tinyint(1)"); b.Property("BaselineExpectedSales") .HasColumnType("decimal(65,30)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DateRangeFrom") .HasColumnType("datetime(6)"); b.Property("DateRangeTo") .HasColumnType("datetime(6)"); b.Property("EligibleSegment") .HasColumnType("longtext"); b.Property("FK_FreeItemId") .HasColumnType("char(36)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("FK_TriggerItemId") .HasColumnType("char(36)"); b.Property("FreeQty") .HasColumnType("decimal(65,30)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("RegionId") .HasColumnType("char(36)"); b.Property("RuleConfig") .HasColumnType("longtext"); b.Property("RuleType") .HasColumnType("int"); b.Property("TriggerQty") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_FreeItemId"); b.HasIndex("FK_TriggerItemId"); b.HasIndex("RegionId"); b.ToTable("Schemes"); }); modelBuilder.Entity("Distribution.Models.SchemeBundleComponent", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_SchemeId") .HasColumnType("char(36)"); b.Property("Qty") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_SchemeId", "FK_ItemId") .IsUnique(); b.ToTable("SchemeBundleComponents"); }); modelBuilder.Entity("Distribution.Models.SchemeRedemption", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("DiscountAmount") .HasColumnType("decimal(65,30)"); b.Property("FK_FreeItemId") .HasColumnType("char(36)"); b.Property("FK_OrderId") .HasColumnType("char(36)"); b.Property("FK_SchemeId") .HasColumnType("char(36)"); b.Property("FieldInvoiceId") .HasColumnType("char(36)"); b.Property("FreeItemCostValue") .HasColumnType("decimal(65,30)"); b.Property("FreeQty") .HasColumnType("decimal(65,30)"); b.Property("RedeemedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_FreeItemId"); b.HasIndex("FK_OrderId"); b.HasIndex("FK_SchemeId"); b.ToTable("SchemeRedemptions"); }); modelBuilder.Entity("Distribution.Models.StockBalance", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("LocationId") .HasColumnType("char(36)"); b.Property("LocationType") .HasColumnType("int"); b.Property("Quantity") .HasColumnType("decimal(65,30)"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_ItemId", "LocationId") .IsUnique(); b.ToTable("StockBalances"); }); modelBuilder.Entity("Distribution.Models.StockMovement", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreatedBy") .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FromLocationId") .HasColumnType("char(36)"); b.Property("FromLocationType") .HasColumnType("int"); b.Property("Quantity") .HasColumnType("decimal(65,30)"); b.Property("ReasonCode") .HasColumnType("longtext"); b.Property("ReferenceId") .HasColumnType("char(36)"); b.Property("ToLocationId") .HasColumnType("char(36)"); b.Property("ToLocationType") .HasColumnType("int"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.ToTable("StockMovements"); }); modelBuilder.Entity("Distribution.Models.Store", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("CreditAmount") .HasColumnType("decimal(65,30)"); b.Property("CreditLimit") .HasColumnType("decimal(65,30)"); b.Property("FK_RouteId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("KycStatus") .HasColumnType("int"); b.Property("Latitude") .HasColumnType("decimal(65,30)"); b.Property("Longitude") .HasColumnType("decimal(65,30)"); b.Property("OneTimeAmount") .HasColumnType("decimal(65,30)"); b.Property("OutstandingBalance") .HasColumnType("decimal(65,30)"); b.Property("OwnerName") .IsRequired() .HasColumnType("longtext"); b.Property("Segment") .HasColumnType("longtext"); b.Property("StoreAddress") .IsRequired() .HasColumnType("longtext"); b.Property("StoreName") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_RouteId"); b.ToTable("Stores"); }); modelBuilder.Entity("Distribution.Models.StoreKycDocument", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DocumentType") .IsRequired() .HasColumnType("longtext"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("FileReference") .IsRequired() .HasColumnType("longtext"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("UploadedAt") .HasColumnType("datetime(6)"); b.HasKey("Id"); b.HasIndex("FK_StoreId"); b.ToTable("StoreKycDocuments"); }); modelBuilder.Entity("Distribution.Models.SubCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ExternalErpId") .HasColumnType("int"); b.Property("FK_CategoryId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_CategoryId"); b.ToTable("SubCategories"); }); modelBuilder.Entity("Distribution.Models.Supplier", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ContactInfo") .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("PerformanceScore") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.ToTable("Suppliers"); }); modelBuilder.Entity("Distribution.Models.SupplierClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Details") .IsRequired() .HasColumnType("longtext"); b.Property("EvidenceUrl") .HasColumnType("longtext"); b.Property("FK_GoodsReceiptId") .HasColumnType("char(36)"); b.Property("FK_PurchaseOrderId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("RaisedByUserId") .HasColumnType("char(36)"); b.Property("ResolutionAmount") .HasColumnType("decimal(65,30)"); b.Property("ResolutionNotes") .HasColumnType("longtext"); b.Property("ResolutionType") .HasColumnType("int"); b.Property("ResolvedAt") .HasColumnType("datetime(6)"); b.Property("ResolvedByUserId") .HasColumnType("char(36)"); b.Property("Status") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("FK_GoodsReceiptId"); b.HasIndex("FK_PurchaseOrderId"); b.HasIndex("RaisedByUserId"); b.HasIndex("ResolvedByUserId"); b.ToTable("SupplierClaims"); }); modelBuilder.Entity("Distribution.Models.SupplierClaimItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_SupplierClaimId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("IssueType") .HasColumnType("int"); b.Property("Quantity") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_SupplierClaimId"); b.ToTable("SupplierClaimItems"); }); modelBuilder.Entity("Distribution.Models.Uom", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("ExternalErpId") .HasColumnType("int"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.ToTable("Uoms"); }); modelBuilder.Entity("Distribution.Models.UomConversion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("FK_FromUomId") .HasColumnType("char(36)"); b.Property("FK_ItemId") .HasColumnType("char(36)"); b.Property("FK_ToUomId") .HasColumnType("char(36)"); b.Property("Factor") .HasColumnType("decimal(65,30)"); b.HasKey("Id"); b.HasIndex("FK_FromUomId"); b.HasIndex("FK_ItemId"); b.HasIndex("FK_ToUomId"); b.ToTable("UomConversions"); }); modelBuilder.Entity("Distribution.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FK_ReportsToUserId") .HasColumnType("char(36)"); b.Property("FK_RoleId") .HasColumnType("char(36)"); b.Property("FullName") .IsRequired() .HasColumnType("longtext"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("PasswordHash") .IsRequired() .HasColumnType("longtext"); b.Property("UpdatedAt") .HasColumnType("datetime(6)"); b.Property("Username") .IsRequired() .HasColumnType("longtext"); b.HasKey("Id"); b.HasIndex("FK_ReportsToUserId"); b.HasIndex("FK_RoleId"); b.ToTable("Users"); }); modelBuilder.Entity("Distribution.Models.UserRegionScope", b => { b.Property("FK_UserId") .HasColumnType("char(36)"); b.Property("FK_RegionId") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Id") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("FK_UserId", "FK_RegionId"); b.HasIndex("FK_RegionId"); b.ToTable("UserRegionScopes"); }); modelBuilder.Entity("Distribution.Models.UserRouteScope", b => { b.Property("FK_UserId") .HasColumnType("char(36)"); b.Property("FK_RouteId") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Id") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("FK_UserId", "FK_RouteId"); b.HasIndex("FK_RouteId"); b.ToTable("UserRouteScopes"); }); modelBuilder.Entity("Distribution.Models.UserStoreScope", b => { b.Property("FK_UserId") .HasColumnType("char(36)"); b.Property("FK_StoreId") .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Id") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.HasKey("FK_UserId", "FK_StoreId"); b.HasIndex("FK_StoreId"); b.ToTable("UserStoreScopes"); }); modelBuilder.Entity("Distribution.Models.Vehicle", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("DefaultWarehouseId") .HasColumnType("char(36)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("NumberPlate") .IsRequired() .HasColumnType("longtext"); b.Property("RegNumber") .IsRequired() .HasColumnType("longtext"); b.Property("Type") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("DefaultWarehouseId"); b.ToTable("Vehicles"); }); modelBuilder.Entity("Distribution.Models.Warehouse", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("IsActive") .HasColumnType("tinyint(1)"); b.Property("Location") .IsRequired() .HasColumnType("longtext"); b.Property("Name") .IsRequired() .HasColumnType("longtext"); b.Property("Type") .HasColumnType("int"); b.Property("VehicleId") .HasColumnType("char(36)"); b.HasKey("Id"); b.HasIndex("VehicleId"); b.ToTable("Warehouses"); }); modelBuilder.Entity("Distribution.Models.Claim", b => { b.HasOne("Distribution.Models.User", "AgencyUser") .WithMany() .HasForeignKey("FK_AgencyUserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.User", "SettledByUser") .WithMany() .HasForeignKey("SettledByUserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("AgencyUser"); b.Navigation("SettledByUser"); }); modelBuilder.Entity("Distribution.Models.CreditNote", b => { b.HasOne("Distribution.Models.SaleReturn", "SaleReturn") .WithMany() .HasForeignKey("FK_SaleReturnId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("SaleReturn"); }); modelBuilder.Entity("Distribution.Models.DeliveryRun", b => { b.HasOne("Distribution.Models.DriverProfile", "DriverProfile") .WithMany() .HasForeignKey("FK_DriverProfileId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Route", "Route") .WithMany() .HasForeignKey("FK_RouteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Warehouse", "SourceWarehouse") .WithMany() .HasForeignKey("FK_SourceWarehouseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Vehicle", "Vehicle") .WithMany() .HasForeignKey("FK_VehicleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("DriverProfile"); b.Navigation("Route"); b.Navigation("SourceWarehouse"); b.Navigation("Vehicle"); }); modelBuilder.Entity("Distribution.Models.DeliveryTask", b => { b.HasOne("Distribution.Models.Order", "Order") .WithMany() .HasForeignKey("FK_OrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.DeliveryRun", "Ride") .WithMany() .HasForeignKey("FK_RideId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Order"); b.Navigation("Ride"); }); modelBuilder.Entity("Distribution.Models.DriverProfile", b => { b.HasOne("Distribution.Models.User", "User") .WithMany() .HasForeignKey("FK_UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Distribution.Models.GoodsReceipt", b => { b.HasOne("Distribution.Models.PurchaseOrder", "PurchaseOrder") .WithMany() .HasForeignKey("FK_PurchaseOrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Warehouse", "Warehouse") .WithMany() .HasForeignKey("FK_WarehouseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("PurchaseOrder"); b.Navigation("Warehouse"); }); modelBuilder.Entity("Distribution.Models.GoodsReceiptItem", b => { b.HasOne("Distribution.Models.GoodsReceipt", "GoodsReceipt") .WithMany("Items") .HasForeignKey("FK_GoodsReceiptId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.PurchaseOrderItem", "PurchaseOrderItem") .WithMany() .HasForeignKey("FK_PurchaseOrderItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("GoodsReceipt"); b.Navigation("PurchaseOrderItem"); }); modelBuilder.Entity("Distribution.Models.Item", b => { b.HasOne("Distribution.Models.Uom", "BaseUom") .WithMany() .HasForeignKey("FK_BaseUomId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Brand", "Brand") .WithMany() .HasForeignKey("FK_BrandId"); b.HasOne("Distribution.Models.Category", "Category") .WithMany() .HasForeignKey("FK_CategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.SubCategory", "SubCategory") .WithMany() .HasForeignKey("FK_SubCategoryId"); b.Navigation("BaseUom"); b.Navigation("Brand"); b.Navigation("Category"); b.Navigation("SubCategory"); }); modelBuilder.Entity("Distribution.Models.LoadingSheet", b => { b.HasOne("Distribution.Models.DeliveryRun", "Ride") .WithMany() .HasForeignKey("FK_RideId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Warehouse", "SourceWarehouse") .WithMany() .HasForeignKey("FK_SourceWarehouseId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Ride"); b.Navigation("SourceWarehouse"); }); modelBuilder.Entity("Distribution.Models.LoadingSheetItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.LoadingSheet", "LoadingSheet") .WithMany("Items") .HasForeignKey("FK_LoadingSheetId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); b.Navigation("LoadingSheet"); }); modelBuilder.Entity("Distribution.Models.Order", b => { b.HasOne("Distribution.Models.Sale", "Sale") .WithMany() .HasForeignKey("FK_SaleId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Sale"); 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("OrderItems") .HasForeignKey("FK_OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); b.Navigation("Order"); }); modelBuilder.Entity("Distribution.Models.Payment", b => { b.HasOne("Distribution.Models.Sale", "Sale") .WithMany() .HasForeignKey("FK_SaleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Sale"); b.Navigation("Store"); }); modelBuilder.Entity("Distribution.Models.PriceList", b => { b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId"); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.PriceListItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.PriceList", "PriceList") .WithMany("Items") .HasForeignKey("FK_PriceListId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); b.Navigation("PriceList"); }); modelBuilder.Entity("Distribution.Models.PurchaseOrder", b => { b.HasOne("Distribution.Models.Supplier", "Supplier") .WithMany() .HasForeignKey("FK_SupplierId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Supplier"); }); modelBuilder.Entity("Distribution.Models.PurchaseOrderItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.PurchaseOrder", "PurchaseOrder") .WithMany("Items") .HasForeignKey("FK_PurchaseOrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Item"); b.Navigation("PurchaseOrder"); }); modelBuilder.Entity("Distribution.Models.PurchaseReturn", b => { b.HasOne("Distribution.Models.PurchaseOrder", "PurchaseOrder") .WithMany() .HasForeignKey("FK_PurchaseOrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("PurchaseOrder"); }); modelBuilder.Entity("Distribution.Models.PurchaseReturnItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.PurchaseReturn", "PurchaseReturn") .WithMany("Items") .HasForeignKey("FK_PurchaseReturnId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Item"); b.Navigation("PurchaseReturn"); }); modelBuilder.Entity("Distribution.Models.RegionAgencyMap", b => { b.HasOne("Distribution.Models.User", "AgencyUser") .WithMany() .HasForeignKey("FK_AgencyUserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AgencyUser"); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.RegionalBudget", b => { b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.RegionalTarget", b => { b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.RegionalTaxRule", b => { b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.RideCancelRequest", b => { b.HasOne("Distribution.Models.DeliveryRun", "Ride") .WithMany() .HasForeignKey("FK_RideId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Ride"); }); modelBuilder.Entity("Distribution.Models.RolePermission", b => { b.HasOne("Distribution.Models.Permission", "Permission") .WithMany() .HasForeignKey("FK_PermissionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Role", "Role") .WithMany() .HasForeignKey("FK_RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Permission"); b.Navigation("Role"); }); modelBuilder.Entity("Distribution.Models.Route", b => { b.HasOne("Distribution.Models.User", "OwnerUser") .WithMany() .HasForeignKey("FK_OwnerUserId"); b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("OwnerUser"); b.Navigation("Region"); }); modelBuilder.Entity("Distribution.Models.RouteVisitLog", b => { b.HasOne("Distribution.Models.Route", "Route") .WithMany() .HasForeignKey("FK_RouteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.User", "User") .WithMany() .HasForeignKey("FK_UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Route"); b.Navigation("Store"); b.Navigation("User"); }); modelBuilder.Entity("Distribution.Models.Sale", b => { b.HasOne("Distribution.Models.User", "CreatedByUser") .WithMany() .HasForeignKey("CreatedByUserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.DeliveryRun", "Ride") .WithMany() .HasForeignKey("FK_RideId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByUser"); b.Navigation("Ride"); b.Navigation("Store"); }); modelBuilder.Entity("Distribution.Models.SaleReturn", b => { b.HasOne("Distribution.Models.User", "CreatedByUser") .WithMany() .HasForeignKey("CreatedByUserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Order", "Order") .WithMany() .HasForeignKey("FK_OrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("CreatedByUser"); b.Navigation("Order"); }); modelBuilder.Entity("Distribution.Models.SaleReturnItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.SaleReturn", "SaleReturn") .WithMany("Items") .HasForeignKey("FK_SaleReturnId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Item"); b.Navigation("SaleReturn"); }); modelBuilder.Entity("Distribution.Models.Scheme", b => { b.HasOne("Distribution.Models.Item", "FreeItem") .WithMany() .HasForeignKey("FK_FreeItemId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Item", "TriggerItem") .WithMany() .HasForeignKey("FK_TriggerItemId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("RegionId"); b.Navigation("FreeItem"); b.Navigation("Region"); b.Navigation("TriggerItem"); }); modelBuilder.Entity("Distribution.Models.SchemeBundleComponent", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.Scheme", "Scheme") .WithMany("BundleComponents") .HasForeignKey("FK_SchemeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); b.Navigation("Scheme"); }); modelBuilder.Entity("Distribution.Models.SchemeRedemption", b => { b.HasOne("Distribution.Models.Item", "FreeItem") .WithMany() .HasForeignKey("FK_FreeItemId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Order", "Order") .WithMany() .HasForeignKey("FK_OrderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Scheme", "Scheme") .WithMany("Redemptions") .HasForeignKey("FK_SchemeId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("FreeItem"); b.Navigation("Order"); b.Navigation("Scheme"); }); modelBuilder.Entity("Distribution.Models.StockBalance", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); }); modelBuilder.Entity("Distribution.Models.StockMovement", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Item"); }); modelBuilder.Entity("Distribution.Models.Store", b => { b.HasOne("Distribution.Models.Route", "Route") .WithMany() .HasForeignKey("FK_RouteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Route"); }); modelBuilder.Entity("Distribution.Models.StoreKycDocument", b => { b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Store"); }); modelBuilder.Entity("Distribution.Models.SubCategory", b => { b.HasOne("Distribution.Models.Category", "Category") .WithMany() .HasForeignKey("FK_CategoryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Category"); }); modelBuilder.Entity("Distribution.Models.SupplierClaim", b => { b.HasOne("Distribution.Models.GoodsReceipt", "GoodsReceipt") .WithMany() .HasForeignKey("FK_GoodsReceiptId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.PurchaseOrder", "PurchaseOrder") .WithMany() .HasForeignKey("FK_PurchaseOrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.User", "RaisedByUser") .WithMany() .HasForeignKey("RaisedByUserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.User", "ResolvedByUser") .WithMany() .HasForeignKey("ResolvedByUserId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("GoodsReceipt"); b.Navigation("PurchaseOrder"); b.Navigation("RaisedByUser"); b.Navigation("ResolvedByUser"); }); modelBuilder.Entity("Distribution.Models.SupplierClaimItem", b => { b.HasOne("Distribution.Models.Item", "Item") .WithMany() .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("Distribution.Models.SupplierClaim", "SupplierClaim") .WithMany("Items") .HasForeignKey("FK_SupplierClaimId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Item"); b.Navigation("SupplierClaim"); }); modelBuilder.Entity("Distribution.Models.UomConversion", b => { b.HasOne("Distribution.Models.Uom", "FromUom") .WithMany() .HasForeignKey("FK_FromUomId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Item", "Item") .WithMany("Conversions") .HasForeignKey("FK_ItemId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.Uom", "ToUom") .WithMany() .HasForeignKey("FK_ToUomId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("FromUom"); b.Navigation("Item"); b.Navigation("ToUom"); }); modelBuilder.Entity("Distribution.Models.User", b => { b.HasOne("Distribution.Models.User", "ReportsTo") .WithMany() .HasForeignKey("FK_ReportsToUserId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Distribution.Models.Role", "Role") .WithMany() .HasForeignKey("FK_RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("ReportsTo"); b.Navigation("Role"); }); modelBuilder.Entity("Distribution.Models.UserRegionScope", b => { b.HasOne("Distribution.Models.Region", "Region") .WithMany() .HasForeignKey("FK_RegionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.User", "User") .WithMany() .HasForeignKey("FK_UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Region"); b.Navigation("User"); }); modelBuilder.Entity("Distribution.Models.UserRouteScope", b => { b.HasOne("Distribution.Models.Route", "Route") .WithMany() .HasForeignKey("FK_RouteId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.User", "User") .WithMany() .HasForeignKey("FK_UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Route"); b.Navigation("User"); }); modelBuilder.Entity("Distribution.Models.UserStoreScope", b => { b.HasOne("Distribution.Models.Store", "Store") .WithMany() .HasForeignKey("FK_StoreId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Distribution.Models.User", "User") .WithMany() .HasForeignKey("FK_UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Store"); b.Navigation("User"); }); modelBuilder.Entity("Distribution.Models.Vehicle", b => { b.HasOne("Distribution.Models.Warehouse", null) .WithMany() .HasForeignKey("DefaultWarehouseId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("Distribution.Models.Warehouse", b => { b.HasOne("Distribution.Models.Vehicle", "Vehicle") .WithMany() .HasForeignKey("VehicleId"); b.Navigation("Vehicle"); }); modelBuilder.Entity("Distribution.Models.GoodsReceipt", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.Item", b => { b.Navigation("Conversions"); }); modelBuilder.Entity("Distribution.Models.LoadingSheet", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.Order", b => { b.Navigation("OrderItems"); }); modelBuilder.Entity("Distribution.Models.PriceList", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.PurchaseOrder", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.PurchaseReturn", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.SaleReturn", b => { b.Navigation("Items"); }); modelBuilder.Entity("Distribution.Models.Scheme", b => { b.Navigation("BundleComponents"); b.Navigation("Redemptions"); }); modelBuilder.Entity("Distribution.Models.SupplierClaim", b => { b.Navigation("Items"); }); #pragma warning restore 612, 618 } } }