Статусы ЭК вынесены из Hosts. Добавлен фильтр по статусам эк в генератор.
This commit is contained in:
@@ -24,6 +24,7 @@ namespace PARR.DAL.Context
|
||||
#endregion
|
||||
|
||||
public DbSet<Host> Hosts { get; set; }
|
||||
public DbSet<EkStatus> EkStatuses { get; set; }
|
||||
public DbSet<Application> Applications { get; set; }
|
||||
public DbSet<ApplicationType> ApplicationTypes { get; set; }
|
||||
public DbSet<ApplicationInHost> ApplicationsInHosts { get; set; }
|
||||
@@ -42,6 +43,7 @@ namespace PARR.DAL.Context
|
||||
|
||||
public DbSet<Models.Setting> Setting { get; set; }
|
||||
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
base.OnModelCreating(modelBuilder);
|
||||
@@ -121,6 +123,20 @@ namespace PARR.DAL.Context
|
||||
);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<EkStatus>(f =>
|
||||
{
|
||||
f.HasData(
|
||||
new { Code = (int)EkStatusEnum.New, Name = "1-Новый" },
|
||||
new { Code = (int)EkStatusEnum.Preapre, Name = "2-Подготовка к эксплуатации" },
|
||||
new { Code = (int)EkStatusEnum.Exploitation, Name = "3-В эксплуатации" },
|
||||
new { Code = (int)EkStatusEnum.Repair, Name = "4-В ремонте" },
|
||||
new { Code = (int)EkStatusEnum.Reserve, Name = "5-В резерве" },
|
||||
new { Code = (int)EkStatusEnum.OutOfService, Name = "6-Выведен из эксплуатации" },
|
||||
new { Code = (int)EkStatusEnum.Test, Name = "7-Тестовый" },
|
||||
new { Code = (int)EkStatusEnum.Development, Name = "9-В разработке" }
|
||||
);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
53
PARR.DAL/Contracts/EkStatusEnum.cs
Normal file
53
PARR.DAL/Contracts/EkStatusEnum.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
namespace PARR.DAL.Contracts
|
||||
{
|
||||
/// <summary>
|
||||
/// Статусы ЭК
|
||||
/// </summary>
|
||||
public enum EkStatusEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// Все записи, используется только внутри проекта
|
||||
/// </summary>
|
||||
All = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 1-Новый
|
||||
/// </summary>
|
||||
New = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 2-Подготовка к эксплуатации
|
||||
/// </summary>
|
||||
Preapre = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 3-В эксплуатации
|
||||
/// </summary>
|
||||
Exploitation = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 4-В ремонте
|
||||
/// </summary>
|
||||
Repair = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 5-В резерве
|
||||
/// </summary>
|
||||
Reserve = 5,
|
||||
|
||||
/// <summary>
|
||||
/// 6-Выведен из эксплуатации
|
||||
/// </summary>
|
||||
OutOfService = 6,
|
||||
|
||||
/// <summary>
|
||||
/// 7-Тестовый
|
||||
/// </summary>
|
||||
Test = 7,
|
||||
|
||||
/// <summary>
|
||||
/// 9-В разработке
|
||||
/// </summary>
|
||||
Development = 9
|
||||
}
|
||||
}
|
||||
1531
PARR.DAL/Migrations/20230925040952_TblCreateEkStatus.Designer.cs
generated
Normal file
1531
PARR.DAL/Migrations/20230925040952_TblCreateEkStatus.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
84
PARR.DAL/Migrations/20230925040952_TblCreateEkStatus.cs
Normal file
84
PARR.DAL/Migrations/20230925040952_TblCreateEkStatus.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#nullable disable
|
||||
|
||||
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
|
||||
|
||||
namespace PARR.DAL.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class TblCreateEkStatus : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "EkStatusCode",
|
||||
table: "Hosts",
|
||||
type: "integer",
|
||||
nullable: false,
|
||||
defaultValue: 3);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "EkStatuses",
|
||||
columns: table => new
|
||||
{
|
||||
Code = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
Name = table.Column<string>(type: "text", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_EkStatuses", x => x.Code);
|
||||
});
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "EkStatuses",
|
||||
columns: new[] { "Code", "Name" },
|
||||
values: new object[,]
|
||||
{
|
||||
{ 1, "1-Новый" },
|
||||
{ 2, "2-Подготовка к эксплуатации" },
|
||||
{ 3, "3-В эксплуатации" },
|
||||
{ 4, "4-В ремонте" },
|
||||
{ 5, "5-В резерве" },
|
||||
{ 6, "6-Выведен из эксплуатации" },
|
||||
{ 7, "7-Тестовый" },
|
||||
{ 9, "9-В разработке" }
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hosts_EkStatusCode",
|
||||
table: "Hosts",
|
||||
column: "EkStatusCode");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Hosts_EkStatuses_EkStatusCode",
|
||||
table: "Hosts",
|
||||
column: "EkStatusCode",
|
||||
principalTable: "EkStatuses",
|
||||
principalColumn: "Code",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Hosts_EkStatuses_EkStatusCode",
|
||||
table: "Hosts");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "EkStatuses");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Hosts_EkStatusCode",
|
||||
table: "Hosts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EkStatusCode",
|
||||
table: "Hosts");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -518,6 +518,65 @@ namespace PARR.DAL.Migrations
|
||||
b.ToTable("ApplicationsInWorks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
||||
{
|
||||
b.Property<int>("Code")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Code"));
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Code");
|
||||
|
||||
b.ToTable("EkStatuses");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
Code = 1,
|
||||
Name = "1-Новый"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 2,
|
||||
Name = "2-Подготовка к эксплуатации"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 3,
|
||||
Name = "3-В эксплуатации"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 4,
|
||||
Name = "4-В ремонте"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 5,
|
||||
Name = "5-В резерве"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 6,
|
||||
Name = "6-Выведен из эксплуатации"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 7,
|
||||
Name = "7-Тестовый"
|
||||
},
|
||||
new
|
||||
{
|
||||
Code = 9,
|
||||
Name = "9-В разработке"
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
@@ -534,6 +593,9 @@ namespace PARR.DAL.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("EkStatusCode")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("IP")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
@@ -549,6 +611,8 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EkStatusCode");
|
||||
|
||||
b.ToTable("Hosts");
|
||||
});
|
||||
|
||||
@@ -1193,6 +1257,17 @@ namespace PARR.DAL.Migrations
|
||||
b.Navigation("Work");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
{
|
||||
b.HasOne("PARR.DAL.Models.EkStatus", "EkStatus")
|
||||
.WithMany("Hosts")
|
||||
.HasForeignKey("EkStatusCode")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("EkStatus");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Subprocess", b =>
|
||||
{
|
||||
b.HasOne("PARR.DAL.Models.Process", "Process")
|
||||
@@ -1369,6 +1444,11 @@ namespace PARR.DAL.Migrations
|
||||
b.Navigation("Templates");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.EkStatus", b =>
|
||||
{
|
||||
b.Navigation("Hosts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
{
|
||||
b.Navigation("ApplicationsInHosts");
|
||||
|
||||
17
PARR.DAL/Models/EkStatus.cs
Normal file
17
PARR.DAL/Models/EkStatus.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace PARR.DAL.Models
|
||||
{
|
||||
[Table("EkStatuses")]
|
||||
public class EkStatus
|
||||
{
|
||||
[Key]
|
||||
public int Code { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
public ICollection<Host> Hosts { get; set; } = new HashSet<Host>();
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,14 @@ namespace PARR.DAL.Models
|
||||
|
||||
public string Ek { get; set; }
|
||||
|
||||
public int EkStatusCode { get; set; }
|
||||
|
||||
public required string IP { get; set; }
|
||||
|
||||
//public string? RegionalEK { get; set; }
|
||||
//public string? LinkEK { get; set; }
|
||||
|
||||
//TODO: удалить поле Status, вместо него использовать EkStatusCode
|
||||
public string? Status { get; set; }
|
||||
|
||||
public string? WorkGroup { get; set; }
|
||||
@@ -31,5 +34,9 @@ namespace PARR.DAL.Models
|
||||
public ICollection<ApplicationInHost> ApplicationsInHosts { get; set; } = new HashSet<ApplicationInHost>();
|
||||
|
||||
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
|
||||
|
||||
|
||||
[ForeignKey(nameof(EkStatusCode))]
|
||||
public EkStatus? EkStatus { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user