diff --git a/barkmanAPI/Migrations/20260719204137_changedOrderToJob.Designer.cs b/barkmanAPI/Migrations/20260719204137_changedOrderToJob.Designer.cs
new file mode 100644
index 0000000..3dd0a6e
--- /dev/null
+++ b/barkmanAPI/Migrations/20260719204137_changedOrderToJob.Designer.cs
@@ -0,0 +1,295 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using barkmanapi;
+
+#nullable disable
+
+namespace barkmanapi.Migrations
+{
+ [DbContext(typeof(BarkContext))]
+ [Migration("20260719204137_changedOrderToJob")]
+ partial class changedOrderToJob
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("barkmanapi.Customers", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .HasColumnType("text")
+ .HasColumnName("address");
+
+ b.Property("BillingTerms")
+ .HasColumnType("text")
+ .HasColumnName("billing_terms");
+
+ b.Property("Company")
+ .HasColumnType("text")
+ .HasColumnName("company");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("email");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Notes")
+ .HasColumnType("text")
+ .HasColumnName("notes");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("text")
+ .HasColumnName("phone_number");
+
+ b.HasKey("Id")
+ .HasName("pk_customers");
+
+ b.ToTable("customers", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.InventoryItems", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Barcode")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("barcode");
+
+ b.Property("Brand")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("brand");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Notes")
+ .HasColumnType("text")
+ .HasColumnName("notes");
+
+ b.Property("RentalPrice")
+ .HasColumnType("real")
+ .HasColumnName("rental_price");
+
+ b.Property("ReplacementCost")
+ .HasColumnType("real")
+ .HasColumnName("replacement_cost");
+
+ b.Property("SerialNumber")
+ .HasColumnType("text")
+ .HasColumnName("serial_number");
+
+ b.Property("StatusId")
+ .HasColumnType("text")
+ .HasColumnName("status_id");
+
+ b.Property("Weight")
+ .HasColumnType("real")
+ .HasColumnName("weight");
+
+ b.HasKey("Id")
+ .HasName("pk_inventory");
+
+ b.HasIndex("Barcode")
+ .IsUnique()
+ .HasDatabaseName("ix_inventory_barcode");
+
+ b.HasIndex("StatusId")
+ .HasDatabaseName("ix_inventory_status_id");
+
+ b.ToTable("inventory", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.ItemStatus", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id")
+ .HasName("pk_item_status");
+
+ b.ToTable("item_status", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.JobItems", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ItemId")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("item_id");
+
+ b.Property("JobsId")
+ .HasColumnType("integer")
+ .HasColumnName("jobs_id");
+
+ b.Property("OrderId")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("order_id");
+
+ b.Property("Quantity")
+ .HasColumnType("integer")
+ .HasColumnName("quantity");
+
+ b.HasKey("Id")
+ .HasName("pk_job_items");
+
+ b.HasIndex("JobsId")
+ .HasDatabaseName("ix_job_items_jobs_id");
+
+ b.ToTable("job_items", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.JobStatus", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text")
+ .HasColumnName("id");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.HasKey("Id")
+ .HasName("pk_job_status");
+
+ b.ToTable("job_status", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer")
+ .HasColumnName("id");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .HasColumnType("text")
+ .HasColumnName("address");
+
+ b.Property("CustomerId")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("customer_id");
+
+ b.Property("EndDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("end_date");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property("Notes")
+ .HasColumnType("text")
+ .HasColumnName("notes");
+
+ b.Property("StartDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("start_date");
+
+ b.Property("StatusId")
+ .HasColumnType("text")
+ .HasColumnName("status_id");
+
+ b.Property("TotalPrice")
+ .HasColumnType("numeric")
+ .HasColumnName("total_price");
+
+ b.Property("Venue")
+ .HasColumnType("text")
+ .HasColumnName("venue");
+
+ b.HasKey("Id")
+ .HasName("pk_jobs");
+
+ b.HasIndex("StatusId")
+ .HasDatabaseName("ix_jobs_status_id");
+
+ b.ToTable("jobs", (string)null);
+ });
+
+ modelBuilder.Entity("barkmanapi.InventoryItems", b =>
+ {
+ b.HasOne("barkmanapi.ItemStatus", "Status")
+ .WithMany()
+ .HasForeignKey("StatusId")
+ .HasConstraintName("fk_inventory_item_status_status_id");
+
+ b.Navigation("Status");
+ });
+
+ modelBuilder.Entity("barkmanapi.JobItems", b =>
+ {
+ b.HasOne("barkmanapi.Jobs", null)
+ .WithMany("Items")
+ .HasForeignKey("JobsId")
+ .HasConstraintName("fk_job_items_jobs_jobs_id");
+ });
+
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
+ {
+ b.HasOne("barkmanapi.JobStatus", "Status")
+ .WithMany()
+ .HasForeignKey("StatusId")
+ .HasConstraintName("fk_jobs_job_status_status_id");
+
+ b.Navigation("Status");
+ });
+
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
+ {
+ b.Navigation("Items");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/barkmanAPI/Migrations/20260719204137_changedOrderToJob.cs b/barkmanAPI/Migrations/20260719204137_changedOrderToJob.cs
new file mode 100644
index 0000000..76fe4fb
--- /dev/null
+++ b/barkmanAPI/Migrations/20260719204137_changedOrderToJob.cs
@@ -0,0 +1,176 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace barkmanapi.Migrations
+{
+ ///
+ public partial class changedOrderToJob : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "order_items");
+
+ migrationBuilder.DropTable(
+ name: "orders");
+
+ migrationBuilder.DropTable(
+ name: "order_status");
+
+ migrationBuilder.CreateTable(
+ name: "job_status",
+ columns: table => new
+ {
+ id = table.Column(type: "text", nullable: false),
+ name = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_job_status", x => x.id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "jobs",
+ columns: table => new
+ {
+ id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ customer_id = table.Column(type: "text", nullable: false),
+ name = table.Column(type: "text", nullable: false),
+ status_id = table.Column(type: "text", nullable: true),
+ start_date = table.Column(type: "timestamp with time zone", nullable: false),
+ end_date = table.Column(type: "timestamp with time zone", nullable: false),
+ total_price = table.Column(type: "numeric", nullable: false),
+ venue = table.Column(type: "text", nullable: true),
+ address = table.Column(type: "text", nullable: true),
+ notes = table.Column(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_jobs", x => x.id);
+ table.ForeignKey(
+ name: "fk_jobs_job_status_status_id",
+ column: x => x.status_id,
+ principalTable: "job_status",
+ principalColumn: "id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "job_items",
+ columns: table => new
+ {
+ id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ order_id = table.Column(type: "text", nullable: false),
+ item_id = table.Column(type: "text", nullable: false),
+ quantity = table.Column(type: "integer", nullable: false),
+ jobs_id = table.Column(type: "integer", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_job_items", x => x.id);
+ table.ForeignKey(
+ name: "fk_job_items_jobs_jobs_id",
+ column: x => x.jobs_id,
+ principalTable: "jobs",
+ principalColumn: "id");
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "ix_job_items_jobs_id",
+ table: "job_items",
+ column: "jobs_id");
+
+ migrationBuilder.CreateIndex(
+ name: "ix_jobs_status_id",
+ table: "jobs",
+ column: "status_id");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "job_items");
+
+ migrationBuilder.DropTable(
+ name: "jobs");
+
+ migrationBuilder.DropTable(
+ name: "job_status");
+
+ migrationBuilder.CreateTable(
+ name: "order_status",
+ columns: table => new
+ {
+ id = table.Column(type: "text", nullable: false),
+ name = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_order_status", x => x.id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "orders",
+ columns: table => new
+ {
+ id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ status_id = table.Column(type: "text", nullable: true),
+ address = table.Column(type: "text", nullable: true),
+ customer_id = table.Column(type: "text", nullable: false),
+ end_date = table.Column(type: "timestamp with time zone", nullable: false),
+ name = table.Column(type: "text", nullable: false),
+ notes = table.Column(type: "text", nullable: true),
+ start_date = table.Column(type: "timestamp with time zone", nullable: false),
+ total_price = table.Column(type: "numeric", nullable: false),
+ venue = table.Column(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_orders", x => x.id);
+ table.ForeignKey(
+ name: "fk_orders_order_status_status_id",
+ column: x => x.status_id,
+ principalTable: "order_status",
+ principalColumn: "id");
+ });
+
+ migrationBuilder.CreateTable(
+ name: "order_items",
+ columns: table => new
+ {
+ id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ item_id = table.Column(type: "text", nullable: false),
+ order_id = table.Column(type: "text", nullable: false),
+ orders_id = table.Column(type: "integer", nullable: true),
+ quantity = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_order_items", x => x.id);
+ table.ForeignKey(
+ name: "fk_order_items_orders_orders_id",
+ column: x => x.orders_id,
+ principalTable: "orders",
+ principalColumn: "id");
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "ix_order_items_orders_id",
+ table: "order_items",
+ column: "orders_id");
+
+ migrationBuilder.CreateIndex(
+ name: "ix_orders_status_id",
+ table: "orders",
+ column: "status_id");
+ }
+ }
+}
diff --git a/barkmanAPI/Migrations/BarkContextModelSnapshot.cs b/barkmanAPI/Migrations/BarkContextModelSnapshot.cs
index e770297..82060e3 100644
--- a/barkmanAPI/Migrations/BarkContextModelSnapshot.cs
+++ b/barkmanAPI/Migrations/BarkContextModelSnapshot.cs
@@ -145,7 +145,7 @@ namespace barkmanapi.Migrations
b.ToTable("item_status", (string)null);
});
- modelBuilder.Entity("barkmanapi.OrderItems", b =>
+ modelBuilder.Entity("barkmanapi.JobItems", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -159,29 +159,29 @@ namespace barkmanapi.Migrations
.HasColumnType("text")
.HasColumnName("item_id");
+ b.Property("JobsId")
+ .HasColumnType("integer")
+ .HasColumnName("jobs_id");
+
b.Property("OrderId")
.IsRequired()
.HasColumnType("text")
.HasColumnName("order_id");
- b.Property("OrdersId")
- .HasColumnType("integer")
- .HasColumnName("orders_id");
-
b.Property("Quantity")
.HasColumnType("integer")
.HasColumnName("quantity");
b.HasKey("Id")
- .HasName("pk_order_items");
+ .HasName("pk_job_items");
- b.HasIndex("OrdersId")
- .HasDatabaseName("ix_order_items_orders_id");
+ b.HasIndex("JobsId")
+ .HasDatabaseName("ix_job_items_jobs_id");
- b.ToTable("order_items", (string)null);
+ b.ToTable("job_items", (string)null);
});
- modelBuilder.Entity("barkmanapi.OrderStatus", b =>
+ modelBuilder.Entity("barkmanapi.JobStatus", b =>
{
b.Property("Id")
.HasColumnType("text")
@@ -193,12 +193,12 @@ namespace barkmanapi.Migrations
.HasColumnName("name");
b.HasKey("Id")
- .HasName("pk_order_status");
+ .HasName("pk_job_status");
- b.ToTable("order_status", (string)null);
+ b.ToTable("job_status", (string)null);
});
- modelBuilder.Entity("barkmanapi.Orders", b =>
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
@@ -246,12 +246,12 @@ namespace barkmanapi.Migrations
.HasColumnName("venue");
b.HasKey("Id")
- .HasName("pk_orders");
+ .HasName("pk_jobs");
b.HasIndex("StatusId")
- .HasDatabaseName("ix_orders_status_id");
+ .HasDatabaseName("ix_jobs_status_id");
- b.ToTable("orders", (string)null);
+ b.ToTable("jobs", (string)null);
});
modelBuilder.Entity("barkmanapi.InventoryItems", b =>
@@ -264,25 +264,25 @@ namespace barkmanapi.Migrations
b.Navigation("Status");
});
- modelBuilder.Entity("barkmanapi.OrderItems", b =>
+ modelBuilder.Entity("barkmanapi.JobItems", b =>
{
- b.HasOne("barkmanapi.Orders", null)
+ b.HasOne("barkmanapi.Jobs", null)
.WithMany("Items")
- .HasForeignKey("OrdersId")
- .HasConstraintName("fk_order_items_orders_orders_id");
+ .HasForeignKey("JobsId")
+ .HasConstraintName("fk_job_items_jobs_jobs_id");
});
- modelBuilder.Entity("barkmanapi.Orders", b =>
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
{
- b.HasOne("barkmanapi.OrderStatus", "Status")
+ b.HasOne("barkmanapi.JobStatus", "Status")
.WithMany()
.HasForeignKey("StatusId")
- .HasConstraintName("fk_orders_order_status_status_id");
+ .HasConstraintName("fk_jobs_job_status_status_id");
b.Navigation("Status");
});
- modelBuilder.Entity("barkmanapi.Orders", b =>
+ modelBuilder.Entity("barkmanapi.Jobs", b =>
{
b.Navigation("Items");
});
diff --git a/barkmanAPI/barkDbModel.cs b/barkmanAPI/barkDbModel.cs
index 7566374..b7c28f8 100644
--- a/barkmanAPI/barkDbModel.cs
+++ b/barkmanAPI/barkDbModel.cs
@@ -7,9 +7,9 @@ public class BarkContext(DbContextOptions options) : DbContext(opti
public DbSet Inventory { get; set; }
public DbSet ItemStatus { get; set; }
public DbSet Customers { get; set; }
- public DbSet Orders { get; set; }
- public DbSet OrderItems { get; set; }
- public DbSet OrderStatus { get; set; }
+ public DbSet Jobs { get; set; }
+ public DbSet JobItems { get; set; }
+ public DbSet JobStatus { get; set; }
}
[Index(nameof(Barcode), IsUnique = true)]
@@ -46,23 +46,23 @@ public class Customers
public string? Notes { get; set; }
}
-public class Orders
+public class Jobs
{
public int Id { get; set; }
public required string CustomerId { get; set; }
public required string Name { get; set; }
- public OrderStatus Status { get; set; }
+ public JobStatus Status { get; set; }
public string? StatusId { get; set; }
public DateTimeOffset StartDate { get; set; }
public DateTimeOffset EndDate { get; set; }
public decimal TotalPrice { get; set; }
public string? Venue { get; set; }
public string? Address { get; set; }
- public OrderItems[] Items { get; set; }
+ public JobItems[] Items { get; set; }
public string? Notes { get; set; }
}
-public class OrderItems
+public class JobItems
{
public int Id { get; set; }
public required string OrderId { get; set; }
@@ -70,7 +70,7 @@ public class OrderItems
public int Quantity { get; set; }
}
-public class OrderStatus
+public class JobStatus
{
public string Id { get; set; }
public string Name { get; set; }