diff --git a/DiningRoom/DiningRoom.sln b/DiningRoom/DiningRoom.sln
index 6b723aa..6017c79 100644
--- a/DiningRoom/DiningRoom.sln
+++ b/DiningRoom/DiningRoom.sln
@@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiningRoomContracts", "Dini
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiningRoomDataModels", "DiningRoomDataModels\DiningRoomDataModels.csproj", "{49474CED-88C8-440C-AAFA-5DCCF868D03F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiningRoomDatabaseImplement", "DiningRoomDatabaseImplement\DiningRoomDatabaseImplement.csproj", "{348BD2CC-C93D-42E8-A890-FC7807476625}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiningRoomDatabaseImplement", "DiningRoomDatabaseImplement\DiningRoomDatabaseImplement.csproj", "{348BD2CC-C93D-42E8-A890-FC7807476625}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/DiningRoom/DiningRoomContracts/SearchModels/UserSearchModel.cs b/DiningRoom/DiningRoomContracts/SearchModels/UserSearchModel.cs
index 19e7db1..9b8d960 100644
--- a/DiningRoom/DiningRoomContracts/SearchModels/UserSearchModel.cs
+++ b/DiningRoom/DiningRoomContracts/SearchModels/UserSearchModel.cs
@@ -15,6 +15,5 @@ namespace DiningRoomContracts.SearchModels
public string Password { get; set; }
public string? Email { get; set; }
- public UserRole? Role { get; set; }
}
}
diff --git a/DiningRoom/DiningRoomDatabaseImplement/ComputerShopDatabase.cs b/DiningRoom/DiningRoomDatabaseImplement/DiningRoomDatabase.cs
similarity index 78%
rename from DiningRoom/DiningRoomDatabaseImplement/ComputerShopDatabase.cs
rename to DiningRoom/DiningRoomDatabaseImplement/DiningRoomDatabase.cs
index 4e591fb..9f34629 100644
--- a/DiningRoom/DiningRoomDatabaseImplement/ComputerShopDatabase.cs
+++ b/DiningRoom/DiningRoomDatabaseImplement/DiningRoomDatabase.cs
@@ -5,14 +5,14 @@ namespace DiningRoomDatabaseImplement
{
public class DiningRoomDatabase : DbContext
{
- protected override void OnConfiguring(DbContextOptionsBuilder OptionsBuilder)
+ protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
- if (!OptionsBuilder.IsConfigured)
+ if (optionsBuilder.IsConfigured == false)
{
- OptionsBuilder.UseNpgsql(@"Host=localhost;Port=5432;Database=DiningRoom;Username=postgres;Password=postgres");
+ optionsBuilder.UseNpgsql(@"Host=localhost;Port=5432;Database=DiningRoomDatabase;Username=postgres;Password=postgres");
}
- base.OnConfiguring(OptionsBuilder);
+ base.OnConfiguring(optionsBuilder);
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
diff --git a/DiningRoom/DiningRoomDatabaseImplement/Implements/UserStorage.cs b/DiningRoom/DiningRoomDatabaseImplement/Implements/UserStorage.cs
index 43efb3f..6d5fcc3 100644
--- a/DiningRoom/DiningRoomDatabaseImplement/Implements/UserStorage.cs
+++ b/DiningRoom/DiningRoomDatabaseImplement/Implements/UserStorage.cs
@@ -30,8 +30,8 @@ namespace DiningRoomDatabaseImplement.Implements
}
using var context = new DiningRoomDatabase();
- //Поиск пользователя при входе в систему по логину, паролю и его роли (чтобы не могли войти в аккаунты другой роли)
- if (!string.IsNullOrEmpty(model.Login) && !string.IsNullOrEmpty(model.Password) && model.Role.HasValue)
+ //Поиск пользователя при входе в систему по логину, паролю
+ if (!string.IsNullOrEmpty(model.Login) && !string.IsNullOrEmpty(model.Password))
{
return context.Users.FirstOrDefault(x => x.Login == model.Login && x.Password == model.Password)?.GetViewModel;
}
@@ -76,7 +76,6 @@ namespace DiningRoomDatabaseImplement.Implements
return user.GetViewModel;
}
- //!!!МБ И НЕ НУЖЕН
public UserViewModel? Delete(UserBindingModel model)
{
using var context = new DiningRoomDatabase();
diff --git a/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.Designer.cs b/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.Designer.cs
new file mode 100644
index 0000000..c685cb5
--- /dev/null
+++ b/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.Designer.cs
@@ -0,0 +1,312 @@
+//
+using System;
+using DiningRoomDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace DiningRoomDatabaseImplement.Migrations
+{
+ [DbContext(typeof(DiningRoomDatabase))]
+ [Migration("20240430170642_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.18")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Card", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CardName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Cards");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Component", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("Unit")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Components");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Drink", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CardId")
+ .HasColumnType("integer");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("DrinkName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Drinks");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.DrinkComponent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("DrinkId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ComponentId");
+
+ b.ToTable("DrinkComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Order", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("DateCreate")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("ProductId")
+ .HasColumnType("integer");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property("Sum")
+ .HasColumnType("double precision");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProductId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Orders");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Product", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("ProductName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Products");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.ProductComponent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("ProductId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ComponentId");
+
+ b.ToTable("ProductComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.User", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Users");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.DrinkComponent", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Component", "Component")
+ .WithMany("DrinkComponents")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.Drink", "Drink")
+ .WithMany("Components")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Component");
+
+ b.Navigation("Drink");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Order", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.User", "User")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Product");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.ProductComponent", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Component", "Component")
+ .WithMany("ProductComponents")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.Product", "Product")
+ .WithMany("Components")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Component");
+
+ b.Navigation("Product");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Component", b =>
+ {
+ b.Navigation("DrinkComponents");
+
+ b.Navigation("ProductComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Drink", b =>
+ {
+ b.Navigation("Components");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Product", b =>
+ {
+ b.Navigation("Components");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.cs b/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.cs
new file mode 100644
index 0000000..cc6ffa2
--- /dev/null
+++ b/DiningRoom/DiningRoomDatabaseImplement/Migrations/20240430170642_InitialCreate.cs
@@ -0,0 +1,225 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace DiningRoomDatabaseImplement.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Cards",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ UserId = table.Column(type: "integer", nullable: false),
+ CardName = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Cards", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Components",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ UserId = table.Column(type: "integer", nullable: false),
+ ComponentName = table.Column(type: "text", nullable: false),
+ Unit = table.Column(type: "text", nullable: false),
+ Cost = table.Column(type: "double precision", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Components", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Drinks",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ UserId = table.Column(type: "integer", nullable: false),
+ DrinkName = table.Column(type: "text", nullable: false),
+ Cost = table.Column(type: "double precision", nullable: false),
+ CardId = table.Column(type: "integer", nullable: false),
+ Category = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Drinks", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Products",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ UserId = table.Column(type: "integer", nullable: false),
+ ProductName = table.Column(type: "text", nullable: false),
+ Cost = table.Column(type: "double precision", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Products", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Users",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ Login = table.Column(type: "text", nullable: false),
+ Password = table.Column(type: "text", nullable: false),
+ Email = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Users", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "DrinkComponents",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ DrinkId = table.Column(type: "integer", nullable: false),
+ ComponentId = table.Column(type: "integer", nullable: false),
+ Count = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_DrinkComponents", x => x.Id);
+ table.ForeignKey(
+ name: "FK_DrinkComponents_Components_ComponentId",
+ column: x => x.ComponentId,
+ principalTable: "Components",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_DrinkComponents_Drinks_ComponentId",
+ column: x => x.ComponentId,
+ principalTable: "Drinks",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ProductComponents",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ ProductId = table.Column(type: "integer", nullable: false),
+ ComponentId = table.Column(type: "integer", nullable: false),
+ Count = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ProductComponents", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ProductComponents_Components_ComponentId",
+ column: x => x.ComponentId,
+ principalTable: "Components",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ProductComponents_Products_ComponentId",
+ column: x => x.ComponentId,
+ principalTable: "Products",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Orders",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ ProductId = table.Column(type: "integer", nullable: false),
+ UserId = table.Column(type: "integer", nullable: false),
+ Sum = table.Column(type: "double precision", nullable: false),
+ Count = table.Column(type: "integer", nullable: false),
+ DateCreate = table.Column(type: "timestamp without time zone", nullable: false),
+ Status = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Orders", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Orders_Products_ProductId",
+ column: x => x.ProductId,
+ principalTable: "Products",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_Orders_Users_UserId",
+ column: x => x.UserId,
+ principalTable: "Users",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_DrinkComponents_ComponentId",
+ table: "DrinkComponents",
+ column: "ComponentId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Orders_ProductId",
+ table: "Orders",
+ column: "ProductId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Orders_UserId",
+ table: "Orders",
+ column: "UserId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ProductComponents_ComponentId",
+ table: "ProductComponents",
+ column: "ComponentId");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "Cards");
+
+ migrationBuilder.DropTable(
+ name: "DrinkComponents");
+
+ migrationBuilder.DropTable(
+ name: "Orders");
+
+ migrationBuilder.DropTable(
+ name: "ProductComponents");
+
+ migrationBuilder.DropTable(
+ name: "Drinks");
+
+ migrationBuilder.DropTable(
+ name: "Users");
+
+ migrationBuilder.DropTable(
+ name: "Components");
+
+ migrationBuilder.DropTable(
+ name: "Products");
+ }
+ }
+}
diff --git a/DiningRoom/DiningRoomDatabaseImplement/Migrations/DiningRoomDatabaseModelSnapshot.cs b/DiningRoom/DiningRoomDatabaseImplement/Migrations/DiningRoomDatabaseModelSnapshot.cs
new file mode 100644
index 0000000..ea7c14b
--- /dev/null
+++ b/DiningRoom/DiningRoomDatabaseImplement/Migrations/DiningRoomDatabaseModelSnapshot.cs
@@ -0,0 +1,309 @@
+//
+using System;
+using DiningRoomDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace DiningRoomDatabaseImplement.Migrations
+{
+ [DbContext(typeof(DiningRoomDatabase))]
+ partial class DiningRoomDatabaseModelSnapshot : ModelSnapshot
+ {
+ protected override void BuildModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.18")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Card", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CardName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Cards");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Component", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("Unit")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Components");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Drink", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CardId")
+ .HasColumnType("integer");
+
+ b.Property("Category")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("DrinkName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Drinks");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.DrinkComponent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("DrinkId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ComponentId");
+
+ b.ToTable("DrinkComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Order", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("DateCreate")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("ProductId")
+ .HasColumnType("integer");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property("Sum")
+ .HasColumnType("double precision");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProductId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Orders");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Product", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Cost")
+ .HasColumnType("double precision");
+
+ b.Property("ProductName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("Products");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.ProductComponent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ComponentId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("ProductId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ComponentId");
+
+ b.ToTable("ProductComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.User", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Users");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.DrinkComponent", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Component", "Component")
+ .WithMany("DrinkComponents")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.Drink", "Drink")
+ .WithMany("Components")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Component");
+
+ b.Navigation("Drink");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Order", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Product", "Product")
+ .WithMany()
+ .HasForeignKey("ProductId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.User", "User")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Product");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.ProductComponent", b =>
+ {
+ b.HasOne("DiningRoomDatabaseImplement.Models.Component", "Component")
+ .WithMany("ProductComponents")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("DiningRoomDatabaseImplement.Models.Product", "Product")
+ .WithMany("Components")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Component");
+
+ b.Navigation("Product");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Component", b =>
+ {
+ b.Navigation("DrinkComponents");
+
+ b.Navigation("ProductComponents");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Drink", b =>
+ {
+ b.Navigation("Components");
+ });
+
+ modelBuilder.Entity("DiningRoomDatabaseImplement.Models.Product", b =>
+ {
+ b.Navigation("Components");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/DiningRoom/DiningRoomDatabaseImplement/Models/User.cs b/DiningRoom/DiningRoomDatabaseImplement/Models/User.cs
index 788d74c..4839f6c 100644
--- a/DiningRoom/DiningRoomDatabaseImplement/Models/User.cs
+++ b/DiningRoom/DiningRoomDatabaseImplement/Models/User.cs
@@ -56,7 +56,7 @@ namespace DiningRoomDatabaseImplement.Models
Login = Login,
Password = Password,
Email = Email,
- Role = Role
+
};
}
}
diff --git a/DiningRoom/DiningRoomView/DiningRoomView.csproj b/DiningRoom/DiningRoomView/DiningRoomView.csproj
index b57c89e..bfc35ab 100644
--- a/DiningRoom/DiningRoomView/DiningRoomView.csproj
+++ b/DiningRoom/DiningRoomView/DiningRoomView.csproj
@@ -8,4 +8,16 @@
enable
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
\ No newline at end of file