feat(dal, api): в таблицах Process, Subprocess, Tnks, Works поле EsppId - уникальное. Обновлены соответсвующе контроллеры (валидация esppId), добавлены методы удаления если нет дочерних элементов.

This commit is contained in:
Mikhail Trubnikov
2024-05-20 11:38:48 +10:00
parent bd77db7b78
commit 6f845635c5
15 changed files with 2932 additions and 155 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace PARR.DAL.Migrations
{
/// <inheritdoc />
public partial class tblProcessSubTnkWorkUniqueEsppId : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_Works_EsppId",
table: "Works",
column: "EsppId",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Tnks_EsppId",
table: "Tnks",
column: "EsppId",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Subprocesses_EsppId",
table: "Subprocesses",
column: "EsppId",
unique: true);
migrationBuilder.CreateIndex(
name: "IX_Processes_EsppId",
table: "Processes",
column: "EsppId",
unique: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_Works_EsppId",
table: "Works");
migrationBuilder.DropIndex(
name: "IX_Tnks_EsppId",
table: "Tnks");
migrationBuilder.DropIndex(
name: "IX_Subprocesses_EsppId",
table: "Subprocesses");
migrationBuilder.DropIndex(
name: "IX_Processes_EsppId",
table: "Processes");
}
}
}

View File

@@ -1539,6 +1539,9 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.HasIndex("EsppId")
.IsUnique();
b.ToTable("Processes");
});
@@ -1996,6 +1999,9 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.HasIndex("EsppId")
.IsUnique();
b.HasIndex("ProcessId");
b.ToTable("Subprocesses");
@@ -2109,6 +2115,9 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.HasIndex("EsppId")
.IsUnique();
b.HasIndex("SubprocessId");
b.ToTable("Tnks");
@@ -2184,6 +2193,9 @@ namespace PARR.DAL.Migrations
b.HasKey("Id");
b.HasIndex("EsppId")
.IsUnique();
b.HasIndex("TnkId");
b.ToTable("Works");

View File

@@ -1,10 +1,12 @@
using PARR.DAL.Models.Base;
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("Processes")]
[Index(nameof(EsppId), IsUnique = true)]
public class Process : IBase
{
[Key]

View File

@@ -1,10 +1,12 @@
using PARR.DAL.Models.Base;
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("Subprocesses")]
[Index(nameof(EsppId), IsUnique = true)]
public class Subprocess : IBase
{
[Key]

View File

@@ -1,10 +1,12 @@
using PARR.DAL.Models.Base;
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("Tnks")]
[Index(nameof(EsppId), IsUnique = true)]
public class Tnk : IBase
{
[Key]

View File

@@ -1,10 +1,12 @@
using PARR.DAL.Models.Base;
using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("Works")]
[Index(nameof(EsppId), IsUnique = true)]
public class Work : IBase
{
[Key]