Merge branch 'main' into storekeeper

This commit is contained in:
gg12 darfren 2024-04-27 13:39:24 +04:00
commit ea299b652d
9 changed files with 883 additions and 786 deletions

View File

@ -7,7 +7,7 @@ builder.Services.AddControllersWithViews();
var app = builder.Build();
APIPharmacist.Connect(builder.Configuration);
APIAdmin.Connect(builder.Configuration);
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{

View File

@ -13,9 +13,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VetClinicContracts", "VetCl
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VetClinicAdminApp", "VetClinicAdminApi\VetClinicAdminApp.csproj", "{75280728-CC4C-4C43-8921-2DC4AD8A9192}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VetClinicDataBaseImplement", "VetClinicDataBaseImplement\VetClinicDataBaseImplement.csproj", "{55D8A594-2412-49E5-B306-F7D0385A870D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VetClinicDataBaseImplement", "VetClinicDataBaseImplement\VetClinicDataBaseImplement.csproj", "{55D8A594-2412-49E5-B306-F7D0385A870D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PharmacistApp", "PharmacistApp\PharmacistApp.csproj", "{EF0A9AB0-6C45-4FC7-9A6E-91C064477CD5}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PharmacistApp", "PharmacistApp\PharmacistApp.csproj", "{EF0A9AB0-6C45-4FC7-9A6E-91C064477CD5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -1,4 +1,5 @@
using System;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

View File

@ -1,387 +0,0 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace VetClinicDataBaseImplement.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Admins",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Admins", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Pharmacists",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
PharmacistFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Pharmacists", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Animals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminId = table.Column<int>(type: "int", nullable: false),
AnimalName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Family = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Animals", x => x.Id);
table.ForeignKey(
name: "FK_Animals_Admins_AdminId",
column: x => x.AdminId,
principalTable: "Admins",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Visits",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminId = table.Column<int>(type: "int", nullable: false),
NameVisit = table.Column<string>(type: "nvarchar(max)", nullable: false),
DateVisit = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Visits", x => x.Id);
table.ForeignKey(
name: "FK_Visits_Admins_AdminId",
column: x => x.AdminId,
principalTable: "Admins",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Medicines",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MedicineName = table.Column<string>(type: "nvarchar(max)", nullable: false),
PharmacistId = table.Column<int>(type: "int", nullable: false),
Price = table.Column<double>(type: "float", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Medicines", x => x.Id);
table.ForeignKey(
name: "FK_Medicines_Pharmacists_PharmacistId",
column: x => x.PharmacistId,
principalTable: "Pharmacists",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Services",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Price = table.Column<double>(type: "float", nullable: false),
PharmacistId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Services", x => x.Id);
table.ForeignKey(
name: "FK_Services_Pharmacists_PharmacistId",
column: x => x.PharmacistId,
principalTable: "Pharmacists",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Vaccinations",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AnimalId = table.Column<int>(type: "int", nullable: false),
NameVaccination = table.Column<string>(type: "nvarchar(max)", nullable: false),
CostVaccination = table.Column<double>(type: "float", nullable: false),
DateStamp = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Vaccinations", x => x.Id);
table.ForeignKey(
name: "FK_Vaccinations_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "VisitAnimals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AnimalId = table.Column<int>(type: "int", nullable: false),
VisitId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_VisitAnimals", x => x.Id);
table.ForeignKey(
name: "FK_VisitAnimals_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_VisitAnimals_Visits_VisitId",
column: x => x.VisitId,
principalTable: "Visits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "MedicineAnimals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MedicineId = table.Column<int>(type: "int", nullable: false),
AnimalId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MedicineAnimals", x => x.Id);
table.ForeignKey(
name: "FK_MedicineAnimals_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_MedicineAnimals_Medicines_MedicineId",
column: x => x.MedicineId,
principalTable: "Medicines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Guidances",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
Text = table.Column<string>(type: "nvarchar(max)", nullable: false),
Date = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Guidances", x => x.Id);
table.ForeignKey(
name: "FK_Guidances_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ServiceMedicines",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
MedicineId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ServiceMedicines", x => x.Id);
table.ForeignKey(
name: "FK_ServiceMedicines_Medicines_MedicineId",
column: x => x.MedicineId,
principalTable: "Medicines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ServiceMedicines_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ServiceVisits",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
VisitId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ServiceVisits", x => x.Id);
table.ForeignKey(
name: "FK_ServiceVisits_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ServiceVisits_Visits_VisitId",
column: x => x.VisitId,
principalTable: "Visits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_Animals_AdminId",
table: "Animals",
column: "AdminId");
migrationBuilder.CreateIndex(
name: "IX_Guidances_ServiceId",
table: "Guidances",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_MedicineAnimals_AnimalId",
table: "MedicineAnimals",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_MedicineAnimals_MedicineId",
table: "MedicineAnimals",
column: "MedicineId");
migrationBuilder.CreateIndex(
name: "IX_Medicines_PharmacistId",
table: "Medicines",
column: "PharmacistId");
migrationBuilder.CreateIndex(
name: "IX_ServiceMedicines_MedicineId",
table: "ServiceMedicines",
column: "MedicineId");
migrationBuilder.CreateIndex(
name: "IX_ServiceMedicines_ServiceId",
table: "ServiceMedicines",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_Services_PharmacistId",
table: "Services",
column: "PharmacistId");
migrationBuilder.CreateIndex(
name: "IX_ServiceVisits_ServiceId",
table: "ServiceVisits",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_ServiceVisits_VisitId",
table: "ServiceVisits",
column: "VisitId");
migrationBuilder.CreateIndex(
name: "IX_Vaccinations_AnimalId",
table: "Vaccinations",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_VisitAnimals_AnimalId",
table: "VisitAnimals",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_VisitAnimals_VisitId",
table: "VisitAnimals",
column: "VisitId");
migrationBuilder.CreateIndex(
name: "IX_Visits_AdminId",
table: "Visits",
column: "AdminId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Guidances");
migrationBuilder.DropTable(
name: "MedicineAnimals");
migrationBuilder.DropTable(
name: "ServiceMedicines");
migrationBuilder.DropTable(
name: "ServiceVisits");
migrationBuilder.DropTable(
name: "Vaccinations");
migrationBuilder.DropTable(
name: "VisitAnimals");
migrationBuilder.DropTable(
name: "Medicines");
migrationBuilder.DropTable(
name: "Services");
migrationBuilder.DropTable(
name: "Animals");
migrationBuilder.DropTable(
name: "Visits");
migrationBuilder.DropTable(
name: "Pharmacists");
migrationBuilder.DropTable(
name: "Admins");
}
}
}

View File

@ -12,7 +12,7 @@ using VetClinicDataBaseImplement;
namespace VetClinicDataBaseImplement.Migrations
{
[DbContext(typeof(VetClinicDatabase))]
[Migration("20240427064357_InitialCreate")]
[Migration("20240427074910_InitialCreate")]
partial class InitialCreate
{
/// <inheritdoc />

View File

@ -0,0 +1,387 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace VetClinicDataBaseImplement.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Admins",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Admins", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Pharmacists",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
PharmacistFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Pharmacists", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Animals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminId = table.Column<int>(type: "int", nullable: false),
AnimalName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Family = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Animals", x => x.Id);
table.ForeignKey(
name: "FK_Animals_Admins_AdminId",
column: x => x.AdminId,
principalTable: "Admins",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Visits",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminId = table.Column<int>(type: "int", nullable: false),
NameVisit = table.Column<string>(type: "nvarchar(max)", nullable: false),
DateVisit = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Visits", x => x.Id);
table.ForeignKey(
name: "FK_Visits_Admins_AdminId",
column: x => x.AdminId,
principalTable: "Admins",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Medicines",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MedicineName = table.Column<string>(type: "nvarchar(max)", nullable: false),
PharmacistId = table.Column<int>(type: "int", nullable: false),
Price = table.Column<double>(type: "float", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Medicines", x => x.Id);
table.ForeignKey(
name: "FK_Medicines_Pharmacists_PharmacistId",
column: x => x.PharmacistId,
principalTable: "Pharmacists",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Services",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Price = table.Column<double>(type: "float", nullable: false),
PharmacistId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Services", x => x.Id);
table.ForeignKey(
name: "FK_Services_Pharmacists_PharmacistId",
column: x => x.PharmacistId,
principalTable: "Pharmacists",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "Vaccinations",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AnimalId = table.Column<int>(type: "int", nullable: false),
NameVaccination = table.Column<string>(type: "nvarchar(max)", nullable: false),
CostVaccination = table.Column<double>(type: "float", nullable: false),
DateStamp = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Vaccinations", x => x.Id);
table.ForeignKey(
name: "FK_Vaccinations_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "VisitAnimals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AnimalId = table.Column<int>(type: "int", nullable: false),
VisitId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_VisitAnimals", x => x.Id);
table.ForeignKey(
name: "FK_VisitAnimals_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_VisitAnimals_Visits_VisitId",
column: x => x.VisitId,
principalTable: "Visits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "MedicineAnimals",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MedicineId = table.Column<int>(type: "int", nullable: false),
AnimalId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MedicineAnimals", x => x.Id);
table.ForeignKey(
name: "FK_MedicineAnimals_Animals_AnimalId",
column: x => x.AnimalId,
principalTable: "Animals",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_MedicineAnimals_Medicines_MedicineId",
column: x => x.MedicineId,
principalTable: "Medicines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Guidances",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
Text = table.Column<string>(type: "nvarchar(max)", nullable: false),
Date = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Guidances", x => x.Id);
table.ForeignKey(
name: "FK_Guidances_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ServiceMedicines",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
MedicineId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ServiceMedicines", x => x.Id);
table.ForeignKey(
name: "FK_ServiceMedicines_Medicines_MedicineId",
column: x => x.MedicineId,
principalTable: "Medicines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ServiceMedicines_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ServiceVisits",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ServiceId = table.Column<int>(type: "int", nullable: false),
VisitId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ServiceVisits", x => x.Id);
table.ForeignKey(
name: "FK_ServiceVisits_Services_ServiceId",
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ServiceVisits_Visits_VisitId",
column: x => x.VisitId,
principalTable: "Visits",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_Animals_AdminId",
table: "Animals",
column: "AdminId");
migrationBuilder.CreateIndex(
name: "IX_Guidances_ServiceId",
table: "Guidances",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_MedicineAnimals_AnimalId",
table: "MedicineAnimals",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_MedicineAnimals_MedicineId",
table: "MedicineAnimals",
column: "MedicineId");
migrationBuilder.CreateIndex(
name: "IX_Medicines_PharmacistId",
table: "Medicines",
column: "PharmacistId");
migrationBuilder.CreateIndex(
name: "IX_ServiceMedicines_MedicineId",
table: "ServiceMedicines",
column: "MedicineId");
migrationBuilder.CreateIndex(
name: "IX_ServiceMedicines_ServiceId",
table: "ServiceMedicines",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_Services_PharmacistId",
table: "Services",
column: "PharmacistId");
migrationBuilder.CreateIndex(
name: "IX_ServiceVisits_ServiceId",
table: "ServiceVisits",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_ServiceVisits_VisitId",
table: "ServiceVisits",
column: "VisitId");
migrationBuilder.CreateIndex(
name: "IX_Vaccinations_AnimalId",
table: "Vaccinations",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_VisitAnimals_AnimalId",
table: "VisitAnimals",
column: "AnimalId");
migrationBuilder.CreateIndex(
name: "IX_VisitAnimals_VisitId",
table: "VisitAnimals",
column: "VisitId");
migrationBuilder.CreateIndex(
name: "IX_Visits_AdminId",
table: "Visits",
column: "AdminId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Guidances");
migrationBuilder.DropTable(
name: "MedicineAnimals");
migrationBuilder.DropTable(
name: "ServiceMedicines");
migrationBuilder.DropTable(
name: "ServiceVisits");
migrationBuilder.DropTable(
name: "Vaccinations");
migrationBuilder.DropTable(
name: "VisitAnimals");
migrationBuilder.DropTable(
name: "Medicines");
migrationBuilder.DropTable(
name: "Services");
migrationBuilder.DropTable(
name: "Animals");
migrationBuilder.DropTable(
name: "Visits");
migrationBuilder.DropTable(
name: "Pharmacists");
migrationBuilder.DropTable(
name: "Admins");
}
}
}

View File

@ -10,506 +10,506 @@ using VetClinicDataBaseImplement;
namespace VetClinicDataBaseImplement.Migrations
{
[DbContext(typeof(VetClinicDatabase))]
partial class VetClinicDatabaseModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
[DbContext(typeof(VetClinicDatabase))]
partial class VetClinicDatabaseModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
modelBuilder
.HasAnnotation("ProductVersion", "8.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("AdminFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AdminFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.ToTable("Admins");
});
b.ToTable("Admins");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdminId")
.HasColumnType("int");
b.Property<int>("AdminId")
.HasColumnType("int");
b.Property<string>("AnimalName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("AnimalName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Family")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Family")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("AdminId");
b.HasIndex("AdminId");
b.ToTable("Animals");
});
b.ToTable("Animals");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<DateTime>("Date")
.HasColumnType("datetime2");
b.Property<DateTime>("Date")
.HasColumnType("datetime2");
b.Property<int>("ServiceId")
.HasColumnType("int");
b.Property<int>("ServiceId")
.HasColumnType("int");
b.Property<string>("Text")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Text")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("ServiceId");
b.HasIndex("ServiceId");
b.ToTable("Guidances");
});
b.ToTable("Guidances");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("MedicineName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("MedicineName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("PharmacistId")
.HasColumnType("int");
b.Property<int>("PharmacistId")
.HasColumnType("int");
b.Property<double>("Price")
.HasColumnType("float");
b.Property<double>("Price")
.HasColumnType("float");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("PharmacistId");
b.HasIndex("PharmacistId");
b.ToTable("Medicines");
});
b.ToTable("Medicines");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<int>("MedicineId")
.HasColumnType("int");
b.Property<int>("MedicineId")
.HasColumnType("int");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("AnimalId");
b.HasIndex("AnimalId");
b.HasIndex("MedicineId");
b.HasIndex("MedicineId");
b.ToTable("MedicineAnimals");
});
b.ToTable("MedicineAnimals");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("PharmacistFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("PharmacistFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.ToTable("Pharmacists");
});
b.ToTable("Pharmacists");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("PharmacistId")
.HasColumnType("int");
b.Property<int>("PharmacistId")
.HasColumnType("int");
b.Property<double>("Price")
.HasColumnType("float");
b.Property<double>("Price")
.HasColumnType("float");
b.Property<string>("ServiceName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("ServiceName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("PharmacistId");
b.HasIndex("PharmacistId");
b.ToTable("Services");
});
b.ToTable("Services");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("Count")
.HasColumnType("int");
b.Property<int>("Count")
.HasColumnType("int");
b.Property<int>("MedicineId")
.HasColumnType("int");
b.Property<int>("MedicineId")
.HasColumnType("int");
b.Property<int>("ServiceId")
.HasColumnType("int");
b.Property<int>("ServiceId")
.HasColumnType("int");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("MedicineId");
b.HasIndex("MedicineId");
b.HasIndex("ServiceId");
b.HasIndex("ServiceId");
b.ToTable("ServiceMedicines");
});
b.ToTable("ServiceMedicines");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<double>("CostVaccination")
.HasColumnType("float");
b.Property<double>("CostVaccination")
.HasColumnType("float");
b.Property<DateTime?>("DateStamp")
.IsRequired()
.HasColumnType("datetime2");
b.Property<DateTime?>("DateStamp")
.IsRequired()
.HasColumnType("datetime2");
b.Property<string>("NameVaccination")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("NameVaccination")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("AnimalId");
b.HasIndex("AnimalId");
b.ToTable("Vaccinations");
});
b.ToTable("Vaccinations");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AdminId")
.HasColumnType("int");
b.Property<int>("AdminId")
.HasColumnType("int");
b.Property<DateTime>("DateVisit")
.HasColumnType("datetime2");
b.Property<DateTime>("DateVisit")
.HasColumnType("datetime2");
b.Property<string>("NameVisit")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("NameVisit")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("AdminId");
b.HasIndex("AdminId");
b.ToTable("Visits");
});
b.ToTable("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<int>("AnimalId")
.HasColumnType("int");
b.Property<int>("VisitId")
.HasColumnType("int");
b.Property<int>("VisitId")
.HasColumnType("int");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("AnimalId");
b.HasIndex("AnimalId");
b.HasIndex("VisitId");
b.HasIndex("VisitId");
b.ToTable("VisitAnimals");
});
b.ToTable("VisitAnimals");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int>("ServiceId")
.HasColumnType("int");
b.Property<int>("ServiceId")
.HasColumnType("int");
b.Property<int>("VisitId")
.HasColumnType("int");
b.Property<int>("VisitId")
.HasColumnType("int");
b.HasKey("Id");
b.HasKey("Id");
b.HasIndex("ServiceId");
b.HasIndex("ServiceId");
b.HasIndex("VisitId");
b.HasIndex("VisitId");
b.ToTable("ServiceVisits");
});
b.ToTable("ServiceVisits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
.WithMany("Animals")
.HasForeignKey("AdminId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
.WithMany("Animals")
.HasForeignKey("AdminId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Admin");
});
b.Navigation("Admin");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Guidances")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Guidances")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Service");
});
b.Navigation("Service");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
.WithMany("Medicines")
.HasForeignKey("PharmacistId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Pharmacist");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Medicines")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
.WithMany("Animals")
.HasForeignKey("MedicineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
b.Navigation("Medicine");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
.WithMany("Services")
.HasForeignKey("PharmacistId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Pharmacist");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
.WithMany("Services")
.HasForeignKey("MedicineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Medicines")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Medicine");
b.Navigation("Service");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Vaccinations")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
.WithMany("Visits")
.HasForeignKey("AdminId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Admin");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Visits")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
.WithMany("Animals")
.HasForeignKey("VisitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
b.Navigation("Visit");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Visits")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
.WithMany("Services")
.HasForeignKey("VisitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Service");
b.Navigation("Visit");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
{
b.Navigation("Animals");
b.Navigation("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.Navigation("Medicines");
b.Navigation("Vaccinations");
b.Navigation("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.Navigation("Animals");
b.Navigation("Services");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
{
b.Navigation("Medicines");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
.WithMany("Medicines")
.HasForeignKey("PharmacistId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Pharmacist");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Medicines")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
.WithMany("Animals")
.HasForeignKey("MedicineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
b.Navigation("Medicine");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
.WithMany("Services")
.HasForeignKey("PharmacistId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Pharmacist");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
.WithMany("Services")
.HasForeignKey("MedicineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Medicines")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Medicine");
b.Navigation("Service");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Vaccinations")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
.WithMany("Visits")
.HasForeignKey("AdminId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Admin");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
.WithMany("Visits")
.HasForeignKey("AnimalId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
.WithMany("Animals")
.HasForeignKey("VisitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Animal");
b.Navigation("Visit");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
{
b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
.WithMany("Visits")
.HasForeignKey("ServiceId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
.WithMany("Services")
.HasForeignKey("VisitId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Service");
b.Navigation("Visit");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
{
b.Navigation("Animals");
b.Navigation("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
{
b.Navigation("Medicines");
b.Navigation("Vaccinations");
b.Navigation("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
{
b.Navigation("Animals");
b.Navigation("Services");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
{
b.Navigation("Medicines");
b.Navigation("Services");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.Navigation("Guidances");
b.Navigation("Services");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
{
b.Navigation("Guidances");
b.Navigation("Medicines");
b.Navigation("Medicines");
b.Navigation("Visits");
});
b.Navigation("Visits");
});
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.Navigation("Animals");
modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
{
b.Navigation("Animals");
b.Navigation("Services");
});
b.Navigation("Services");
});
#pragma warning restore 612, 618
}
}
}
}
}

View File

@ -11,7 +11,7 @@ namespace VetClinicDataBaseImplement
{
if (optionsBuilder.IsConfigured == false)
{
optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS;Initial Catalog=VetClinicDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
optionsBuilder.UseSqlServer(@"Data Source=localhost\SQLEXPRESS02;Initial Catalog=VetClinicDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
}
base.OnConfiguring(optionsBuilder);
}

View File

@ -0,0 +1,96 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using VetClinicContracts.BindingModels;
using VetClinicContracts.BusinessLogicsContracts;
using VetClinicContracts.SearchModels;
using VetClinicContracts.ViewModels;
namespace VetClinicRestApi.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class AnimalController : Controller
{
private readonly ILogger _logger;
private readonly IAnimalLogic _animal;
public AnimalController(ILogger<AnimalController> logger, IAnimalLogic animal)
{
_logger = logger;
_animal = animal;
}
[HttpGet]
public AnimalViewModel? GetAnimal(int animalId)
{
try
{
return _animal.ReadElement(new AnimalSearchModel
{
Id = animalId
});
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения животного по id={Id}", animalId);
throw;
}
}
[HttpGet]
public List<AnimalViewModel>? GetAnimalList()
{
try
{
return _animal.ReadList(null);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения списка животного");
throw;
}
}
[HttpPost]
public bool CreateAnimal(AnimalBindingModel model)
{
try
{
return _animal.CreateAnimal(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Не удалось создать животное");
throw;
}
}
[HttpPost]
public bool UpdateAnimal(AnimalBindingModel model)
{
try
{
return _animal.UpdateAnimal(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Не удалось обновить животное");
throw;
}
}
[HttpPost]
public bool DeleteAnimal(AnimalBindingModel model)
{
try
{
return _animal.DeleteAnimal(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка удаления услуги");
throw;
}
}
}
}