From e8c64059fb4357cdac91c2e73e6a9c5c357bae0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Mon, 21 Aug 2023 13:00:05 +0200 Subject: [PATCH] Record.Values --- Frontend/src/app/models/record.model.ts | 31 +- .../layer-detail/layer-detail.component.ts | 2 +- .../layers-list/layers-list.component.ts | 1 + WebAPI/Exports/googleSheet.export.cs | 2 +- .../20230821105757_Record.Values.Designer.cs | 291 +++++++++++++++ .../20230821105757_Record.Values.cs | 339 ++++++++++++++++++ .../Migrations/AppDbContextModelSnapshot.cs | 94 ++++- WebAPI/Models/Record.cs | 39 +- WebAPI/dataParsers/csv.parser.cs | 2 +- WebAPI/dataParsers/googleSheet.parser.cs | 2 +- WebAPI/dataParsers/morskaK5.parser.cs | 2 +- 11 files changed, 792 insertions(+), 13 deletions(-) create mode 100644 WebAPI/Migrations/20230821105757_Record.Values.Designer.cs create mode 100644 WebAPI/Migrations/20230821105757_Record.Values.cs diff --git a/Frontend/src/app/models/record.model.ts b/Frontend/src/app/models/record.model.ts index b48a762..3ecbb1e 100644 --- a/Frontend/src/app/models/record.model.ts +++ b/Frontend/src/app/models/record.model.ts @@ -2,7 +2,36 @@ import { Base } from './base.model'; export class Record extends Base { code?: string; - value?: number; + value1?: number; + value2?: number; + value3?: number; + value4?: number; + value5?: number; + value6?: number; + value8?: number; + value9?: number; + value10?: number; + value11?: number; + value12?: number; + value13?: number; + value14?: number; + value15?: number; + value16?: number; + value17?: number; + value18?: number; + value19?: number; + value20?: number; + value21?: number; + value22?: number; + value23?: number; + value24?: number; + value25?: number; + value26?: number; + value27?: number; + value28?: number; + value29?: number; + value30?: number; + value31?: number; desc1?: string; desc2?: string; desc3?: string; diff --git a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts index 2219d4a..58f6f49 100644 --- a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts +++ b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts @@ -55,7 +55,7 @@ export class LayerDetailComponent implements OnInit { this.form.disable(); this.document.created = `${this.datePipe.transform(this.document.createdAt?.toDate(), 'short')}, ${this.document.createdBy?.userName}`; this.dataSource.sort.sort({ id: 'code', start: 'desc' } as MatSortable); - this.valueSum = this.document.records.map(t => t.value || 0).reduce((acc, value) => acc + value, 0); + this.valueSum = this.document.records.map(t => t.value1 || 0).reduce((acc, value) => acc + value, 0); } private async load(): Promise { return await Layer.getById(this.route$.snapshot.paramMap.get('id') || "", this.http$); diff --git a/Frontend/src/app/modules/layers/layers-list/layers-list.component.ts b/Frontend/src/app/modules/layers/layers-list/layers-list.component.ts index 153ef53..d186bf5 100644 --- a/Frontend/src/app/modules/layers/layers-list/layers-list.component.ts +++ b/Frontend/src/app/modules/layers/layers-list/layers-list.component.ts @@ -74,6 +74,7 @@ export class LayersListComponent implements OnInit { this.dataSource.data = await Layer.getList(this._http, this.start, this.limit, this.codes); } } + // eslint-disable-next-line @typescript-eslint/no-explicit-any async addCode(event: any) { const value = (event.target.value || '').trim(); if (value) { diff --git a/WebAPI/Exports/googleSheet.export.cs b/WebAPI/Exports/googleSheet.export.cs index d1ef584..2b50f4e 100644 --- a/WebAPI/Exports/googleSheet.export.cs +++ b/WebAPI/Exports/googleSheet.export.cs @@ -22,7 +22,7 @@ namespace WebAPI.Exports List> data = new List>() { new List() { layer.Name!, layer.Number! } }; foreach (Record record in layer.Records!) { - data.Add(new List { record.Code!, record.Value }); + data.Add(new List { record.Code!, record.Value1! }); } Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File(); diff --git a/WebAPI/Migrations/20230821105757_Record.Values.Designer.cs b/WebAPI/Migrations/20230821105757_Record.Values.Designer.cs new file mode 100644 index 0000000..59e2b94 --- /dev/null +++ b/WebAPI/Migrations/20230821105757_Record.Values.Designer.cs @@ -0,0 +1,291 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using WebAPI; + +#nullable disable + +namespace WebAPI.Migrations +{ + [DbContext(typeof(AppDbContext))] + [Migration("20230821105757_Record.Values")] + partial class RecordValues + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("WebAPI.Models.Layer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CreatedAt") + .HasColumnType("datetime2"); + + b.Property("CreatedById") + .HasColumnType("uniqueidentifier"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("ModifiedAt") + .HasColumnType("datetime2"); + + b.Property("ModifiedById") + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Number") + .HasColumnType("int"); + + b.Property("Source") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CreatedById"); + + b.HasIndex("ModifiedById"); + + b.ToTable("Layers"); + }); + + modelBuilder.Entity("WebAPI.Models.Record", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("CreatedAt") + .HasColumnType("datetime2"); + + b.Property("CreatedById") + .HasColumnType("uniqueidentifier"); + + b.Property("Desc1") + .HasColumnType("nvarchar(max)"); + + b.Property("Desc2") + .HasColumnType("nvarchar(max)"); + + b.Property("Desc3") + .HasColumnType("nvarchar(max)"); + + b.Property("Desc4") + .HasColumnType("nvarchar(max)"); + + b.Property("Desc5") + .HasColumnType("nvarchar(max)"); + + b.Property("IsDeleted") + .HasColumnType("bit"); + + b.Property("LayerId") + .HasColumnType("uniqueidentifier"); + + b.Property("ModifiedAt") + .HasColumnType("datetime2"); + + b.Property("ModifiedById") + .HasColumnType("uniqueidentifier"); + + b.Property("Value1") + .HasColumnType("real"); + + b.Property("Value10") + .HasColumnType("real"); + + b.Property("Value11") + .HasColumnType("real"); + + b.Property("Value12") + .HasColumnType("real"); + + b.Property("Value13") + .HasColumnType("real"); + + b.Property("Value14") + .HasColumnType("real"); + + b.Property("Value15") + .HasColumnType("real"); + + b.Property("Value16") + .HasColumnType("real"); + + b.Property("Value17") + .HasColumnType("real"); + + b.Property("Value18") + .HasColumnType("real"); + + b.Property("Value19") + .HasColumnType("real"); + + b.Property("Value2") + .HasColumnType("real"); + + b.Property("Value20") + .HasColumnType("real"); + + b.Property("Value21") + .HasColumnType("real"); + + b.Property("Value22") + .HasColumnType("real"); + + b.Property("Value23") + .HasColumnType("real"); + + b.Property("Value24") + .HasColumnType("real"); + + b.Property("Value25") + .HasColumnType("real"); + + b.Property("Value26") + .HasColumnType("real"); + + b.Property("Value27") + .HasColumnType("real"); + + b.Property("Value28") + .HasColumnType("real"); + + b.Property("Value29") + .HasColumnType("real"); + + b.Property("Value3") + .HasColumnType("real"); + + b.Property("Value30") + .HasColumnType("real"); + + b.Property("Value31") + .HasColumnType("real"); + + b.Property("Value4") + .HasColumnType("real"); + + b.Property("Value5") + .HasColumnType("real"); + + b.Property("Value6") + .HasColumnType("real"); + + b.Property("Value7") + .HasColumnType("real"); + + b.Property("Value8") + .HasColumnType("real"); + + b.Property("Value9") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("CreatedById"); + + b.HasIndex("LayerId"); + + b.HasIndex("ModifiedById"); + + b.ToTable("Records"); + }); + + modelBuilder.Entity("WebAPI.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CreatedAt") + .HasColumnType("datetime2"); + + b.Property("Email") + .HasColumnType("nvarchar(max)"); + + b.Property("UserName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("WebAPI.Models.Layer", b => + { + b.HasOne("WebAPI.Models.User", "CreatedBy") + .WithMany() + .HasForeignKey("CreatedById") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WebAPI.Models.User", "ModifiedBy") + .WithMany() + .HasForeignKey("ModifiedById") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CreatedBy"); + + b.Navigation("ModifiedBy"); + }); + + modelBuilder.Entity("WebAPI.Models.Record", b => + { + b.HasOne("WebAPI.Models.User", "CreatedBy") + .WithMany() + .HasForeignKey("CreatedById") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WebAPI.Models.Layer", null) + .WithMany("Records") + .HasForeignKey("LayerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WebAPI.Models.User", "ModifiedBy") + .WithMany() + .HasForeignKey("ModifiedById") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CreatedBy"); + + b.Navigation("ModifiedBy"); + }); + + modelBuilder.Entity("WebAPI.Models.Layer", b => + { + b.Navigation("Records"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WebAPI/Migrations/20230821105757_Record.Values.cs b/WebAPI/Migrations/20230821105757_Record.Values.cs new file mode 100644 index 0000000..e204e57 --- /dev/null +++ b/WebAPI/Migrations/20230821105757_Record.Values.cs @@ -0,0 +1,339 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WebAPI.Migrations +{ + /// + public partial class RecordValues : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Value", + table: "Records"); + + migrationBuilder.AddColumn( + name: "Value1", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value10", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value11", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value12", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value13", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value14", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value15", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value16", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value17", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value18", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value19", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value2", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value20", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value21", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value22", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value23", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value24", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value25", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value26", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value27", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value28", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value29", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value3", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value30", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value31", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value4", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value5", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value6", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value7", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value8", + table: "Records", + type: "real", + nullable: true); + + migrationBuilder.AddColumn( + name: "Value9", + table: "Records", + type: "real", + nullable: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Value1", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value10", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value11", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value12", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value13", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value14", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value15", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value16", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value17", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value18", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value19", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value2", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value20", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value21", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value22", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value23", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value24", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value25", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value26", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value27", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value28", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value29", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value3", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value30", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value31", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value4", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value5", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value6", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value7", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value8", + table: "Records"); + + migrationBuilder.DropColumn( + name: "Value9", + table: "Records"); + + migrationBuilder.AddColumn( + name: "Value", + table: "Records", + type: "real", + nullable: false, + defaultValue: 0f); + } + } +} diff --git a/WebAPI/Migrations/AppDbContextModelSnapshot.cs b/WebAPI/Migrations/AppDbContextModelSnapshot.cs index cc54bd9..e19a51d 100644 --- a/WebAPI/Migrations/AppDbContextModelSnapshot.cs +++ b/WebAPI/Migrations/AppDbContextModelSnapshot.cs @@ -17,7 +17,7 @@ namespace WebAPI.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "7.0.7") + .HasAnnotation("ProductVersion", "7.0.10") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -109,7 +109,97 @@ namespace WebAPI.Migrations b.Property("ModifiedById") .HasColumnType("uniqueidentifier"); - b.Property("Value") + b.Property("Value1") + .HasColumnType("real"); + + b.Property("Value10") + .HasColumnType("real"); + + b.Property("Value11") + .HasColumnType("real"); + + b.Property("Value12") + .HasColumnType("real"); + + b.Property("Value13") + .HasColumnType("real"); + + b.Property("Value14") + .HasColumnType("real"); + + b.Property("Value15") + .HasColumnType("real"); + + b.Property("Value16") + .HasColumnType("real"); + + b.Property("Value17") + .HasColumnType("real"); + + b.Property("Value18") + .HasColumnType("real"); + + b.Property("Value19") + .HasColumnType("real"); + + b.Property("Value2") + .HasColumnType("real"); + + b.Property("Value20") + .HasColumnType("real"); + + b.Property("Value21") + .HasColumnType("real"); + + b.Property("Value22") + .HasColumnType("real"); + + b.Property("Value23") + .HasColumnType("real"); + + b.Property("Value24") + .HasColumnType("real"); + + b.Property("Value25") + .HasColumnType("real"); + + b.Property("Value26") + .HasColumnType("real"); + + b.Property("Value27") + .HasColumnType("real"); + + b.Property("Value28") + .HasColumnType("real"); + + b.Property("Value29") + .HasColumnType("real"); + + b.Property("Value3") + .HasColumnType("real"); + + b.Property("Value30") + .HasColumnType("real"); + + b.Property("Value31") + .HasColumnType("real"); + + b.Property("Value4") + .HasColumnType("real"); + + b.Property("Value5") + .HasColumnType("real"); + + b.Property("Value6") + .HasColumnType("real"); + + b.Property("Value7") + .HasColumnType("real"); + + b.Property("Value8") + .HasColumnType("real"); + + b.Property("Value9") .HasColumnType("real"); b.HasKey("Id"); diff --git a/WebAPI/Models/Record.cs b/WebAPI/Models/Record.cs index f76f00e..453bfe6 100644 --- a/WebAPI/Models/Record.cs +++ b/WebAPI/Models/Record.cs @@ -8,11 +8,40 @@ namespace WebAPI.Models [Key] public Guid Id { get; set; } [Required] - public string? Code { get; set; } // number - [Required] - public float Value { get; set; } // string - //Description fields - public string? Desc1 { get; set; } // Desc1 => Value1 + public string? Code { get; set; } + public float? Value1 { get; set; } + public float? Value2 { get; set; } + public float? Value3 { get; set; } + public float? Value4 { get; set; } + public float? Value5 { get; set; } + public float? Value6 { get; set; } + public float? Value7 { get; set; } + public float? Value8 { get; set; } + public float? Value9 { get; set; } + public float? Value10 { get; set; } + public float? Value11 { get; set; } + public float? Value12 { get; set; } + public float? Value13 { get; set; } + public float? Value14 { get; set; } + public float? Value15 { get; set; } + public float? Value16 { get; set; } + public float? Value17 { get; set; } + public float? Value18 { get; set; } + public float? Value19 { get; set; } + public float? Value20 { get; set; } + public float? Value21 { get; set; } + public float? Value22 { get; set; } + public float? Value23 { get; set; } + public float? Value24 { get; set; } + public float? Value25 { get; set; } + public float? Value26 { get; set; } + public float? Value27 { get; set; } + public float? Value28 { get; set; } + public float? Value29 { get; set; } + public float? Value30 { get; set; } + public float? Value31 { get; set; } + //Description fields + public string? Desc1 { get; set; } public string? Desc2 { get; set; } public string? Desc3 { get; set; } public string? Desc4 { get; set; } diff --git a/WebAPI/dataParsers/csv.parser.cs b/WebAPI/dataParsers/csv.parser.cs index ebbcb82..c3cc1dd 100644 --- a/WebAPI/dataParsers/csv.parser.cs +++ b/WebAPI/dataParsers/csv.parser.cs @@ -38,7 +38,7 @@ namespace WebAPI.dataParsers record.Id = Guid.NewGuid(); record.Code = data[0][i]; record.Desc1 = data[j][0]; - record.Value = value; + record.Value1 = value; record.CreatedAt = DateTime.UtcNow; record.ModifiedAt= DateTime.UtcNow; records.Add(record); diff --git a/WebAPI/dataParsers/googleSheet.parser.cs b/WebAPI/dataParsers/googleSheet.parser.cs index 640909a..61287f3 100644 --- a/WebAPI/dataParsers/googleSheet.parser.cs +++ b/WebAPI/dataParsers/googleSheet.parser.cs @@ -33,7 +33,7 @@ namespace WebAPI.dataParsers Record record = new Record(); record.Id = Guid.NewGuid(); record.Code = data[i][0].ToString(); - record.Value = value; + record.Value1 = value; record.CreatedAt = DateTime.UtcNow; record.ModifiedAt = DateTime.UtcNow; records.Add(record); diff --git a/WebAPI/dataParsers/morskaK5.parser.cs b/WebAPI/dataParsers/morskaK5.parser.cs index 97273c9..dd5b873 100644 --- a/WebAPI/dataParsers/morskaK5.parser.cs +++ b/WebAPI/dataParsers/morskaK5.parser.cs @@ -47,7 +47,7 @@ namespace WebAPI.dataParsers Record record = new Record(); record.Id = Guid.NewGuid(); record.Code = data[1][i].ToString(); - record.Value = value; + record.Value1 = value; record.CreatedAt = DateTime.UtcNow; record.ModifiedAt = DateTime.UtcNow; records.Add(record);