source: StockMaster/Migrations/20260222001854_InitialSetup.Designer.cs

main
Last change on this file was dfe03b8, checked in by Ceyda <ceyda.huseini@…>, 3 days ago

Initialize StockMaster project

  • Property mode set to 100644
File size: 27.0 KB
Line 
1// <auto-generated />
2using System;
3using Microsoft.EntityFrameworkCore;
4using Microsoft.EntityFrameworkCore.Infrastructure;
5using Microsoft.EntityFrameworkCore.Migrations;
6using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
7using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
8using StockMaster.Data;
9
10#nullable disable
11
12namespace StockMaster.Migrations
13{
14 [DbContext(typeof(StockDbContext))]
15 [Migration("20260222001854_InitialSetup")]
16 partial class InitialSetup
17 {
18 /// <inheritdoc />
19 protected override void BuildTargetModel(ModelBuilder modelBuilder)
20 {
21#pragma warning disable 612, 618
22 modelBuilder
23 .HasAnnotation("ProductVersion", "8.0.4")
24 .HasAnnotation("Relational:MaxIdentifierLength", 63);
25
26 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
27
28 modelBuilder.Entity("StockMaster.Models.Category", b =>
29 {
30 b.Property<int>("CategoryId")
31 .ValueGeneratedOnAdd()
32 .HasColumnType("integer")
33 .HasColumnName("category_id");
34
35 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("CategoryId"));
36
37 b.Property<DateTime>("CreatedAt")
38 .HasColumnType("timestamp without time zone")
39 .HasColumnName("created_at");
40
41 b.Property<string>("Description")
42 .IsRequired()
43 .HasColumnType("text")
44 .HasColumnName("description");
45
46 b.Property<string>("Name")
47 .IsRequired()
48 .HasMaxLength(50)
49 .HasColumnType("character varying(50)")
50 .HasColumnName("name");
51
52 b.HasKey("CategoryId");
53
54 b.ToTable("category", "stock_management");
55 });
56
57 modelBuilder.Entity("StockMaster.Models.Customer", b =>
58 {
59 b.Property<int>("CustomerId")
60 .ValueGeneratedOnAdd()
61 .HasColumnType("integer")
62 .HasColumnName("customer_id");
63
64 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("CustomerId"));
65
66 b.Property<string>("Address")
67 .IsRequired()
68 .HasColumnType("text")
69 .HasColumnName("address");
70
71 b.Property<DateTime>("CreatedAt")
72 .HasColumnType("timestamp without time zone")
73 .HasColumnName("created_at");
74
75 b.Property<string>("Email")
76 .IsRequired()
77 .HasMaxLength(100)
78 .HasColumnType("character varying(100)")
79 .HasColumnName("email");
80
81 b.Property<string>("Name")
82 .IsRequired()
83 .HasMaxLength(100)
84 .HasColumnType("character varying(100)")
85 .HasColumnName("name");
86
87 b.Property<string>("Phone")
88 .IsRequired()
89 .HasMaxLength(20)
90 .HasColumnType("character varying(20)")
91 .HasColumnName("phone");
92
93 b.HasKey("CustomerId");
94
95 b.ToTable("customer", "stock_management");
96 });
97
98 modelBuilder.Entity("StockMaster.Models.Product", b =>
99 {
100 b.Property<int>("ProductId")
101 .ValueGeneratedOnAdd()
102 .HasColumnType("integer")
103 .HasColumnName("product_id");
104
105 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ProductId"));
106
107 b.Property<int?>("CategoryId")
108 .HasColumnType("integer")
109 .HasColumnName("category_id");
110
111 b.Property<DateTime>("CreatedAt")
112 .HasColumnType("timestamp without time zone")
113 .HasColumnName("created_at");
114
115 b.Property<string>("Description")
116 .IsRequired()
117 .HasColumnType("text")
118 .HasColumnName("description");
119
120 b.Property<bool>("IsActive")
121 .HasColumnType("boolean")
122 .HasColumnName("is_active");
123
124 b.Property<string>("Name")
125 .IsRequired()
126 .HasMaxLength(100)
127 .HasColumnType("character varying(100)")
128 .HasColumnName("name");
129
130 b.Property<int>("ReorderLevel")
131 .HasColumnType("integer")
132 .HasColumnName("reorder_level");
133
134 b.Property<string>("Sku")
135 .IsRequired()
136 .HasMaxLength(50)
137 .HasColumnType("character varying(50)")
138 .HasColumnName("sku");
139
140 b.Property<int?>("SupplierId")
141 .HasColumnType("integer")
142 .HasColumnName("supplier_id");
143
144 b.Property<decimal>("UnitPrice")
145 .HasPrecision(12, 2)
146 .HasColumnType("numeric(12,2)")
147 .HasColumnName("unit_price");
148
149 b.HasKey("ProductId");
150
151 b.HasIndex("CategoryId");
152
153 b.HasIndex("SupplierId");
154
155 b.ToTable("product", "stock_management");
156 });
157
158 modelBuilder.Entity("StockMaster.Models.ProductPriceLog", b =>
159 {
160 b.Property<int>("LogId")
161 .ValueGeneratedOnAdd()
162 .HasColumnType("integer")
163 .HasColumnName("log_id");
164
165 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("LogId"));
166
167 b.Property<DateTime>("ChangedAt")
168 .HasColumnType("timestamp without time zone")
169 .HasColumnName("changed_at");
170
171 b.Property<string>("ChangedBy")
172 .IsRequired()
173 .HasColumnType("text")
174 .HasColumnName("changed_by");
175
176 b.Property<decimal>("NewPrice")
177 .HasColumnType("numeric")
178 .HasColumnName("new_price");
179
180 b.Property<decimal>("OldPrice")
181 .HasColumnType("numeric")
182 .HasColumnName("old_price");
183
184 b.Property<int>("ProductId")
185 .HasColumnType("integer")
186 .HasColumnName("product_id");
187
188 b.Property<string>("ProductName")
189 .IsRequired()
190 .HasColumnType("text")
191 .HasColumnName("product_name");
192
193 b.HasKey("LogId");
194
195 b.ToTable("product_price_log", "stock_management");
196 });
197
198 modelBuilder.Entity("StockMaster.Models.PurchaseOrder", b =>
199 {
200 b.Property<int>("PoId")
201 .ValueGeneratedOnAdd()
202 .HasColumnType("integer")
203 .HasColumnName("po_id");
204
205 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PoId"));
206
207 b.Property<DateTime?>("ActualDeliveryDate")
208 .HasColumnType("timestamp without time zone")
209 .HasColumnName("actual_delivery_date");
210
211 b.Property<DateTime>("CreatedAt")
212 .HasColumnType("timestamp without time zone")
213 .HasColumnName("created_at");
214
215 b.Property<DateTime>("ExpectedDeliveryDate")
216 .HasColumnType("timestamp without time zone")
217 .HasColumnName("expected_delivery_date");
218
219 b.Property<DateTime>("OrderDate")
220 .HasColumnType("timestamp without time zone")
221 .HasColumnName("order_date");
222
223 b.Property<string>("Status")
224 .IsRequired()
225 .HasMaxLength(20)
226 .HasColumnType("character varying(20)")
227 .HasColumnName("status");
228
229 b.Property<int?>("SupplierId")
230 .HasColumnType("integer")
231 .HasColumnName("supplier_id");
232
233 b.Property<int>("WarehouseId")
234 .HasColumnType("integer")
235 .HasColumnName("warehouse_id");
236
237 b.HasKey("PoId");
238
239 b.HasIndex("SupplierId");
240
241 b.HasIndex("WarehouseId");
242
243 b.ToTable("purchase_order", "stock_management");
244 });
245
246 modelBuilder.Entity("StockMaster.Models.PurchaseOrderItem", b =>
247 {
248 b.Property<int>("PoId")
249 .HasColumnType("integer")
250 .HasColumnName("po_id");
251
252 b.Property<int>("ProductId")
253 .HasColumnType("integer")
254 .HasColumnName("product_id");
255
256 b.Property<int>("Quantity")
257 .HasColumnType("integer")
258 .HasColumnName("quantity");
259
260 b.Property<int>("ReceivedQuantity")
261 .HasColumnType("integer")
262 .HasColumnName("received_quantity");
263
264 b.Property<decimal>("UnitCost")
265 .HasPrecision(12, 2)
266 .HasColumnType("numeric(12,2)")
267 .HasColumnName("unit_cost");
268
269 b.HasKey("PoId", "ProductId");
270
271 b.HasIndex("ProductId");
272
273 b.ToTable("purchase_order_item", "stock_management");
274 });
275
276 modelBuilder.Entity("StockMaster.Models.Sale", b =>
277 {
278 b.Property<int>("SaleId")
279 .ValueGeneratedOnAdd()
280 .HasColumnType("integer")
281 .HasColumnName("sale_id");
282
283 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("SaleId"));
284
285 b.Property<int?>("CustomerId")
286 .HasColumnType("integer")
287 .HasColumnName("customer_id");
288
289 b.Property<DateTime>("DateTime")
290 .HasColumnType("timestamp without time zone")
291 .HasColumnName("date_time");
292
293 b.Property<decimal>("TotalAmount")
294 .HasPrecision(15, 2)
295 .HasColumnType("numeric(15,2)")
296 .HasColumnName("total_amount");
297
298 b.Property<int?>("UserId")
299 .HasColumnType("integer")
300 .HasColumnName("user_id");
301
302 b.Property<int>("WarehouseId")
303 .HasColumnType("integer")
304 .HasColumnName("warehouse_id");
305
306 b.HasKey("SaleId");
307
308 b.HasIndex("CustomerId");
309
310 b.HasIndex("UserId");
311
312 b.HasIndex("WarehouseId");
313
314 b.ToTable("sale", "stock_management");
315 });
316
317 modelBuilder.Entity("StockMaster.Models.SaleItem", b =>
318 {
319 b.Property<int>("SaleId")
320 .HasColumnType("integer")
321 .HasColumnName("sale_id");
322
323 b.Property<int>("ProductId")
324 .HasColumnType("integer")
325 .HasColumnName("product_id");
326
327 b.Property<int>("Quantity")
328 .HasColumnType("integer")
329 .HasColumnName("quantity");
330
331 b.Property<decimal>("UnitPriceAtSale")
332 .HasPrecision(12, 2)
333 .HasColumnType("numeric(12,2)")
334 .HasColumnName("unit_price_at_sale");
335
336 b.HasKey("SaleId", "ProductId");
337
338 b.HasIndex("ProductId");
339
340 b.ToTable("sale_item", "stock_management");
341 });
342
343 modelBuilder.Entity("StockMaster.Models.Supplier", b =>
344 {
345 b.Property<int>("SupplierId")
346 .ValueGeneratedOnAdd()
347 .HasColumnType("integer")
348 .HasColumnName("supplier_id");
349
350 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("SupplierId"));
351
352 b.Property<string>("Address")
353 .IsRequired()
354 .HasColumnType("text")
355 .HasColumnName("address");
356
357 b.Property<string>("ContactPerson")
358 .IsRequired()
359 .HasMaxLength(100)
360 .HasColumnType("character varying(100)")
361 .HasColumnName("contact_person");
362
363 b.Property<DateTime>("CreatedAt")
364 .HasColumnType("timestamp without time zone")
365 .HasColumnName("created_at");
366
367 b.Property<string>("Email")
368 .IsRequired()
369 .HasMaxLength(100)
370 .HasColumnType("character varying(100)")
371 .HasColumnName("email");
372
373 b.Property<string>("Name")
374 .IsRequired()
375 .HasMaxLength(100)
376 .HasColumnType("character varying(100)")
377 .HasColumnName("name");
378
379 b.Property<string>("Phone")
380 .IsRequired()
381 .HasMaxLength(20)
382 .HasColumnType("character varying(20)")
383 .HasColumnName("phone");
384
385 b.HasKey("SupplierId");
386
387 b.ToTable("supplier", "stock_management");
388 });
389
390 modelBuilder.Entity("StockMaster.Models.User", b =>
391 {
392 b.Property<int>("UserId")
393 .ValueGeneratedOnAdd()
394 .HasColumnType("integer")
395 .HasColumnName("user_id");
396
397 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("UserId"));
398
399 b.Property<DateTime>("CreatedAt")
400 .HasColumnType("timestamp without time zone")
401 .HasColumnName("created_at");
402
403 b.Property<string>("Email")
404 .IsRequired()
405 .HasMaxLength(100)
406 .HasColumnType("character varying(100)")
407 .HasColumnName("email");
408
409 b.Property<string>("FullName")
410 .IsRequired()
411 .HasMaxLength(100)
412 .HasColumnType("character varying(100)")
413 .HasColumnName("full_name");
414
415 b.Property<bool>("IsActive")
416 .HasColumnType("boolean")
417 .HasColumnName("is_active");
418
419 b.Property<string>("Password")
420 .IsRequired()
421 .HasMaxLength(255)
422 .HasColumnType("character varying(255)")
423 .HasColumnName("password");
424
425 b.Property<string>("Role")
426 .IsRequired()
427 .HasMaxLength(20)
428 .HasColumnType("character varying(20)")
429 .HasColumnName("role");
430
431 b.Property<string>("Username")
432 .IsRequired()
433 .HasMaxLength(50)
434 .HasColumnType("character varying(50)")
435 .HasColumnName("username");
436
437 b.HasKey("UserId");
438
439 b.ToTable("users", "stock_management");
440 });
441
442 modelBuilder.Entity("StockMaster.Models.VwEmployeeRanking", b =>
443 {
444 b.Property<decimal>("AvgSaleValue")
445 .HasColumnType("numeric")
446 .HasColumnName("avg_sale_value");
447
448 b.Property<string>("FullName")
449 .IsRequired()
450 .HasColumnType("text")
451 .HasColumnName("full_name");
452
453 b.Property<long>("RevenueRank")
454 .HasColumnType("bigint")
455 .HasColumnName("revenue_rank");
456
457 b.Property<string>("Role")
458 .IsRequired()
459 .HasColumnType("text")
460 .HasColumnName("role");
461
462 b.Property<decimal>("TotalRevenue")
463 .HasColumnType("numeric")
464 .HasColumnName("total_revenue");
465
466 b.Property<long>("TotalSales")
467 .HasColumnType("bigint")
468 .HasColumnName("total_sales");
469
470 b.Property<long>("UniqueCustomers")
471 .HasColumnType("bigint")
472 .HasColumnName("unique_customers");
473
474 b.Property<int>("UserId")
475 .HasColumnType("integer")
476 .HasColumnName("user_id");
477
478 b.ToTable((string)null);
479
480 b.ToView("vw_employee_sales_ranking", "stock_management");
481 });
482
483 modelBuilder.Entity("StockMaster.Models.VwSalesByDay", b =>
484 {
485 b.Property<decimal>("AvgSaleValue")
486 .HasColumnType("numeric")
487 .HasColumnName("avg_sale_value");
488
489 b.Property<string>("DayName")
490 .IsRequired()
491 .HasColumnType("text")
492 .HasColumnName("day_name");
493
494 b.Property<int>("DayNumber")
495 .HasColumnType("integer")
496 .HasColumnName("day_number");
497
498 b.Property<decimal>("TotalItemsSold")
499 .HasColumnType("numeric")
500 .HasColumnName("total_items_sold");
501
502 b.Property<decimal>("TotalRevenue")
503 .HasColumnType("numeric")
504 .HasColumnName("total_revenue");
505
506 b.Property<long>("TotalSales")
507 .HasColumnType("bigint")
508 .HasColumnName("total_sales");
509
510 b.ToTable((string)null);
511
512 b.ToView("vw_sales_by_day_of_week", "stock_management");
513 });
514
515 modelBuilder.Entity("StockMaster.Models.VwTodaysSummary", b =>
516 {
517 b.Property<long>("ActiveWarehouses")
518 .HasColumnType("bigint")
519 .HasColumnName("active_warehouses_today");
520
521 b.Property<decimal>("TotalItemsSold")
522 .HasColumnType("numeric")
523 .HasColumnName("total_items_sold_today");
524
525 b.Property<decimal>("TotalRevenue")
526 .HasColumnType("numeric")
527 .HasColumnName("total_revenue_today");
528
529 b.Property<long>("TotalTransactions")
530 .HasColumnType("bigint")
531 .HasColumnName("total_transactions_today");
532
533 b.Property<long>("UniqueCustomers")
534 .HasColumnType("bigint")
535 .HasColumnName("unique_customers_today");
536
537 b.ToTable((string)null);
538
539 b.ToView("vw_todays_sales_summary", "stock_management");
540 });
541
542 modelBuilder.Entity("StockMaster.Models.Warehouse", b =>
543 {
544 b.Property<int>("WarehouseId")
545 .ValueGeneratedOnAdd()
546 .HasColumnType("integer")
547 .HasColumnName("warehouse_id");
548
549 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("WarehouseId"));
550
551 b.Property<int>("Capacity")
552 .HasColumnType("integer")
553 .HasColumnName("capacity");
554
555 b.Property<DateTime>("CreatedAt")
556 .HasColumnType("timestamp without time zone")
557 .HasColumnName("created_at");
558
559 b.Property<string>("Location")
560 .IsRequired()
561 .HasMaxLength(255)
562 .HasColumnType("character varying(255)")
563 .HasColumnName("location");
564
565 b.Property<string>("Name")
566 .IsRequired()
567 .HasMaxLength(100)
568 .HasColumnType("character varying(100)")
569 .HasColumnName("name");
570
571 b.HasKey("WarehouseId");
572
573 b.ToTable("warehouse", "stock_management");
574 });
575
576 modelBuilder.Entity("StockMaster.Models.WarehouseStock", b =>
577 {
578 b.Property<int>("WarehouseId")
579 .HasColumnType("integer")
580 .HasColumnName("warehouse_id");
581
582 b.Property<int>("ProductId")
583 .HasColumnType("integer")
584 .HasColumnName("product_id");
585
586 b.Property<DateTime>("LastUpdated")
587 .HasColumnType("timestamp without time zone")
588 .HasColumnName("last_updated");
589
590 b.Property<int>("QuantityOnHand")
591 .HasColumnType("integer")
592 .HasColumnName("quantity_on_hand");
593
594 b.HasKey("WarehouseId", "ProductId");
595
596 b.HasIndex("ProductId");
597
598 b.ToTable("warehouse_stock", "stock_management");
599 });
600
601 modelBuilder.Entity("StockMaster.Models.Product", b =>
602 {
603 b.HasOne("StockMaster.Models.Category", "Category")
604 .WithMany()
605 .HasForeignKey("CategoryId");
606
607 b.HasOne("StockMaster.Models.Supplier", "Supplier")
608 .WithMany()
609 .HasForeignKey("SupplierId");
610
611 b.Navigation("Category");
612
613 b.Navigation("Supplier");
614 });
615
616 modelBuilder.Entity("StockMaster.Models.PurchaseOrder", b =>
617 {
618 b.HasOne("StockMaster.Models.Supplier", "Supplier")
619 .WithMany()
620 .HasForeignKey("SupplierId");
621
622 b.HasOne("StockMaster.Models.Warehouse", "Warehouse")
623 .WithMany()
624 .HasForeignKey("WarehouseId")
625 .OnDelete(DeleteBehavior.Cascade)
626 .IsRequired();
627
628 b.Navigation("Supplier");
629
630 b.Navigation("Warehouse");
631 });
632
633 modelBuilder.Entity("StockMaster.Models.PurchaseOrderItem", b =>
634 {
635 b.HasOne("StockMaster.Models.PurchaseOrder", "PurchaseOrder")
636 .WithMany("PurchaseOrderItems")
637 .HasForeignKey("PoId")
638 .OnDelete(DeleteBehavior.Cascade)
639 .IsRequired();
640
641 b.HasOne("StockMaster.Models.Product", "Product")
642 .WithMany()
643 .HasForeignKey("ProductId")
644 .OnDelete(DeleteBehavior.Cascade)
645 .IsRequired();
646
647 b.Navigation("Product");
648
649 b.Navigation("PurchaseOrder");
650 });
651
652 modelBuilder.Entity("StockMaster.Models.Sale", b =>
653 {
654 b.HasOne("StockMaster.Models.Customer", "Customer")
655 .WithMany()
656 .HasForeignKey("CustomerId");
657
658 b.HasOne("StockMaster.Models.User", "User")
659 .WithMany()
660 .HasForeignKey("UserId");
661
662 b.HasOne("StockMaster.Models.Warehouse", "Warehouse")
663 .WithMany()
664 .HasForeignKey("WarehouseId")
665 .OnDelete(DeleteBehavior.Cascade)
666 .IsRequired();
667
668 b.Navigation("Customer");
669
670 b.Navigation("User");
671
672 b.Navigation("Warehouse");
673 });
674
675 modelBuilder.Entity("StockMaster.Models.SaleItem", b =>
676 {
677 b.HasOne("StockMaster.Models.Product", "Product")
678 .WithMany()
679 .HasForeignKey("ProductId")
680 .OnDelete(DeleteBehavior.Cascade)
681 .IsRequired();
682
683 b.HasOne("StockMaster.Models.Sale", "Sale")
684 .WithMany("SaleItems")
685 .HasForeignKey("SaleId")
686 .OnDelete(DeleteBehavior.Cascade)
687 .IsRequired();
688
689 b.Navigation("Product");
690
691 b.Navigation("Sale");
692 });
693
694 modelBuilder.Entity("StockMaster.Models.WarehouseStock", b =>
695 {
696 b.HasOne("StockMaster.Models.Product", "Product")
697 .WithMany()
698 .HasForeignKey("ProductId")
699 .OnDelete(DeleteBehavior.Cascade)
700 .IsRequired();
701
702 b.HasOne("StockMaster.Models.Warehouse", "Warehouse")
703 .WithMany()
704 .HasForeignKey("WarehouseId")
705 .OnDelete(DeleteBehavior.Cascade)
706 .IsRequired();
707
708 b.Navigation("Product");
709
710 b.Navigation("Warehouse");
711 });
712
713 modelBuilder.Entity("StockMaster.Models.PurchaseOrder", b =>
714 {
715 b.Navigation("PurchaseOrderItems");
716 });
717
718 modelBuilder.Entity("StockMaster.Models.Sale", b =>
719 {
720 b.Navigation("SaleItems");
721 });
722#pragma warning restore 612, 618
723 }
724 }
725}
Note: See TracBrowser for help on using the repository browser.