Связь Hosts & templates. Переделал респонс для get all templates
This commit is contained in:
@@ -43,7 +43,14 @@ namespace PARR.API.Controllers.V1
|
||||
var paginationFilter = mapper.Map<PaginationFilter>(paginationQuery);
|
||||
|
||||
IQueryable<Template> query = templateService.Get()
|
||||
.OrderBy(t => t.Name);
|
||||
.Include(h => h.Host)
|
||||
.Include(a => a.ApplicationsInWork)
|
||||
.ThenInclude(w => w!.Work)
|
||||
.ThenInclude(t => t!.Tnk)
|
||||
.ThenInclude(s => s!.Subprocess)
|
||||
.ThenInclude(p => p!.Process)
|
||||
.OrderBy(t => t.Name)
|
||||
.AsSplitQuery();
|
||||
|
||||
if (filter.StatusCode.HasValue)
|
||||
{
|
||||
|
||||
@@ -26,22 +26,23 @@ namespace PARR.API.MappingProfiles
|
||||
|
||||
CreateMap<V1_JobMode, JobModeResponse>();
|
||||
|
||||
//CreateMap<Template, TemplateResponse>()
|
||||
// .ForMember(d => d.ParrTemplateId, o => o.MapFrom(s => s.Id))
|
||||
// .ForMember(d => d.Assignment, o => o.MapFrom(s => s.WorkGroup))
|
||||
// .ForMember(d => d.Title, o => o.MapFrom(s => s.ShortDescription))
|
||||
// .ForMember(d => d.Branch, o => o.MapFrom(s => s.ResponseArea))
|
||||
// .ForMember(d => d.SlaInterval, o => o.MapFrom(s => s.Duration))
|
||||
// .ForMember(d => d.ConfigurationItem, o => o.MapFrom(s => s.EK))
|
||||
// .ForMember(d => d.ContactName, o => o.MapFrom(s => s.Initiator))
|
||||
// .ForMember(d => d.Description, o => o.MapFrom(s => s.FullDescription))
|
||||
// .ForMember(d => d.ResolutionCode, o => o.MapFrom(s => s.ClosingCode))
|
||||
// .ForMember(d => d.Resolution, o => o.MapFrom(s => s.Solution))
|
||||
// .ForMember(d => d.RzdMTNKprocess, o => o.MapFrom(s => s.Process))
|
||||
// .ForMember(d => d.RzdMTNKsubprocess, o => o.MapFrom(s => s.SubProcess))
|
||||
// .ForMember(d => d.RzdMTNKtnk, o => o.MapFrom(s => s.TNK))
|
||||
// .ForMember(d => d.RzdMTNKjob, o => o.MapFrom(s => s.Work))
|
||||
// .ForMember(d => d.Assignee, o => o.MapFrom(s => s.Worker));
|
||||
CreateMap<Template, TemplateResponse>()
|
||||
.ForMember(d => d.ParrTemplateId, o => o.MapFrom(s => s.Id))
|
||||
.ForMember(d => d.Assignment, o => o.MapFrom(s => s.Host!.WorkGroup))
|
||||
.ForMember(d => d.Title, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.ShortDescription))
|
||||
.ForMember(d => d.Branch, o => o.MapFrom(s => s.Host!.ResponseArea))
|
||||
.ForMember(d => d.SlaInterval, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.TemplateDuration))
|
||||
.ForMember(d => d.ConfigurationItem, o => o.MapFrom(s => s.Host!.Ek))
|
||||
//.ForMember(d => d.ContactName, o => o.MapFrom(s => s.Initiator))
|
||||
.ForMember(d => d.Description, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.FullDescription))
|
||||
//.ForMember(d => d.ResolutionCode, o => o.MapFrom(s => s.ClosingCode))
|
||||
.ForMember(d => d.Resolution, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Solution))
|
||||
.ForMember(d => d.RzdMTNKprocess, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Process!.Name))
|
||||
.ForMember(d => d.RzdMTNKsubprocess, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk!.Subprocess!.Name))
|
||||
.ForMember(d => d.RzdMTNKtnk, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Tnk!.Name))
|
||||
.ForMember(d => d.RzdMTNKjob, o => o.MapFrom(s => s.ApplicationsInWork!.Work!.Name))
|
||||
//.ForMember(d => d.Assignee, o => o.MapFrom(s => s.Worker))
|
||||
;
|
||||
|
||||
CreateMap<TemplateResponse, TemplateStringResponse>();
|
||||
|
||||
|
||||
1330
PARR.DAL/Migrations/20230919052753_TblHostsRelToTemplate.Designer.cs
generated
Normal file
1330
PARR.DAL/Migrations/20230919052753_TblHostsRelToTemplate.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
81
PARR.DAL/Migrations/20230919052753_TblHostsRelToTemplate.cs
Normal file
81
PARR.DAL/Migrations/20230919052753_TblHostsRelToTemplate.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace PARR.DAL.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class TblHostsRelToTemplate : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "HostId",
|
||||
table: "Templates",
|
||||
type: "uuid",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "HostId",
|
||||
table: "Hosts",
|
||||
type: "uuid",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Templates_HostId",
|
||||
table: "Templates",
|
||||
column: "HostId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hosts_HostId",
|
||||
table: "Hosts",
|
||||
column: "HostId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Hosts_Hosts_HostId",
|
||||
table: "Hosts",
|
||||
column: "HostId",
|
||||
principalTable: "Hosts",
|
||||
principalColumn: "Id");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_Templates_Hosts_HostId",
|
||||
table: "Templates",
|
||||
column: "HostId",
|
||||
principalTable: "Hosts",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Hosts_Hosts_HostId",
|
||||
table: "Hosts");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_Templates_Hosts_HostId",
|
||||
table: "Templates");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Templates_HostId",
|
||||
table: "Templates");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_Hosts_HostId",
|
||||
table: "Hosts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HostId",
|
||||
table: "Templates");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "HostId",
|
||||
table: "Hosts");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -391,6 +391,9 @@ namespace PARR.DAL.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<Guid?>("HostId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<string>("IP")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
@@ -406,6 +409,8 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("HostId");
|
||||
|
||||
b.ToTable("Hosts");
|
||||
});
|
||||
|
||||
@@ -556,6 +561,9 @@ namespace PARR.DAL.Migrations
|
||||
b.Property<DateTimeOffset?>("DateModified")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<Guid>("HostId")
|
||||
.HasColumnType("uuid");
|
||||
|
||||
b.Property<bool>("IsActive")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
@@ -570,6 +578,8 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.HasIndex("ApplicationInWorkId");
|
||||
|
||||
b.HasIndex("HostId");
|
||||
|
||||
b.HasIndex("Name")
|
||||
.IsUnique();
|
||||
|
||||
@@ -1055,6 +1065,13 @@ namespace PARR.DAL.Migrations
|
||||
b.Navigation("Work");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
{
|
||||
b.HasOne("PARR.DAL.Models.Host", null)
|
||||
.WithMany("Hosts")
|
||||
.HasForeignKey("HostId");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Subprocess", b =>
|
||||
{
|
||||
b.HasOne("PARR.DAL.Models.Process", "Process")
|
||||
@@ -1074,6 +1091,12 @@ namespace PARR.DAL.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("PARR.DAL.Models.Host", "Host")
|
||||
.WithMany()
|
||||
.HasForeignKey("HostId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("PARR.DAL.Models.StatusTemplate", "StatusTemplate")
|
||||
.WithMany("Templates")
|
||||
.HasForeignKey("StatusCode")
|
||||
@@ -1082,6 +1105,8 @@ namespace PARR.DAL.Migrations
|
||||
|
||||
b.Navigation("ApplicationsInWork");
|
||||
|
||||
b.Navigation("Host");
|
||||
|
||||
b.Navigation("StatusTemplate");
|
||||
});
|
||||
|
||||
@@ -1226,6 +1251,8 @@ namespace PARR.DAL.Migrations
|
||||
modelBuilder.Entity("PARR.DAL.Models.Host", b =>
|
||||
{
|
||||
b.Navigation("ApplicationsInHosts");
|
||||
|
||||
b.Navigation("Hosts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("PARR.DAL.Models.Process", b =>
|
||||
|
||||
@@ -29,5 +29,7 @@ namespace PARR.DAL.Models
|
||||
|
||||
|
||||
public ICollection<ApplicationInHost> ApplicationsInHosts { get; set; } = new HashSet<ApplicationInHost>();
|
||||
|
||||
public ICollection<Host> Hosts { get; set; } = new HashSet<Host>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,5 +32,11 @@ namespace PARR.DAL.Models
|
||||
[ForeignKey(nameof(ApplicationInWorkId))]
|
||||
public ApplicationsInWork? ApplicationsInWork { get; set; }
|
||||
|
||||
|
||||
public Guid HostId { get; set; }
|
||||
|
||||
[ForeignKey(nameof(HostId))]
|
||||
public Host? Host { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user