From 61e2056eeab7fc8492f22d46fa3a88b223f2b4eb Mon Sep 17 00:00:00 2001 From: IvanovEugeniy Date: Mon, 4 Jul 2022 13:15:26 +0500 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20=D1=81=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B0=20(=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B5=D0=B9?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudDb/Model/AsbCloudDbContext.cs | 3 +- .../{DailyReportDb.cs => DailyReport.cs} | 11 +++++--- .../Model/DailyReportDB/DailyReportInfo.cs | 18 ++++++++++++ AsbCloudDb/Model/IAsbCloudDbContext.cs | 3 +- .../DailyReport/DailyReportService.cs | 28 +++++++++++++++---- 5 files changed, 51 insertions(+), 12 deletions(-) rename AsbCloudDb/Model/DailyReportDB/{DailyReportDb.cs => DailyReport.cs} (79%) create mode 100644 AsbCloudDb/Model/DailyReportDB/DailyReportInfo.cs diff --git a/AsbCloudDb/Model/AsbCloudDbContext.cs b/AsbCloudDb/Model/AsbCloudDbContext.cs index e1f1d6b8..a1f421f9 100644 --- a/AsbCloudDb/Model/AsbCloudDbContext.cs +++ b/AsbCloudDb/Model/AsbCloudDbContext.cs @@ -1,4 +1,5 @@ -using Microsoft.EntityFrameworkCore; +using AsbCloudDb.Model.DailyReportDB; +using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; diff --git a/AsbCloudDb/Model/DailyReportDB/DailyReportDb.cs b/AsbCloudDb/Model/DailyReportDB/DailyReport.cs similarity index 79% rename from AsbCloudDb/Model/DailyReportDB/DailyReportDb.cs rename to AsbCloudDb/Model/DailyReportDB/DailyReport.cs index a4e16ec3..0d43f1a9 100644 --- a/AsbCloudDb/Model/DailyReportDB/DailyReportDb.cs +++ b/AsbCloudDb/Model/DailyReportDB/DailyReport.cs @@ -5,8 +5,8 @@ using System.ComponentModel.DataAnnotations.Schema; namespace AsbCloudDb.Model.DailyReportDB { #nullable disable - [Table("t_daily_report"), Comment("Ежедневные отчёты")] - public class DailyReportDb + [Table("t_daily_report_mod"), Comment("Ежедневные отчёты")] + public class DailyReport { [Column("id_well"), Comment("ID скважины")] public int IdWell { get; set; } @@ -15,11 +15,14 @@ namespace AsbCloudDb.Model.DailyReportDB public DateTimeOffset StartDate { get; set; } [Column("blockHead", TypeName = "jsonb"), Comment("1 блок параметров для отчёта")] - public DailyReportInfo BlockHead { get; set; } + public DailyReportHead BlockHead { get; set; } [Column("blockBha", TypeName = "jsonb"), Comment("2 блок параметров для отчёта")] public DailyReportBha BlockBha { get; set; } + [Column("blockTimeBalance", TypeName = "jsonb"), Comment("2 блок параметров для отчёта")] + public DailyReportTimeBalance BlockTimeBalance { get; set; } + [Column("blockDimensionless", TypeName = "jsonb"), Comment("4 блок параметров для отчёта")] public DailyReportDimensionless BlockDimensionless { get; set; } @@ -37,7 +40,7 @@ namespace AsbCloudDb.Model.DailyReportDB - + diff --git a/AsbCloudDb/Model/DailyReportDB/DailyReportInfo.cs b/AsbCloudDb/Model/DailyReportDB/DailyReportInfo.cs new file mode 100644 index 00000000..40833d8d --- /dev/null +++ b/AsbCloudDb/Model/DailyReportDB/DailyReportInfo.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using AsbCloudDb.Model.DailyReportDB; + +namespace AsbCloudDb.Model +{ +#nullable disable + public class DailyReportInfo + { + public DailyReportHead HeadInfo { get; set; } + public DailyReportBha BhaDto { get; set; } + public DailyReportDimensionless DimensionlessInfo { get; set; } + public DailyReportTimeBalance TimeBalanceInfo { get; set; } + public DailyReportSaub SaubInfo { get; set; } + public DailyReportSign SignInfo { get; set; } + } + +} diff --git a/AsbCloudDb/Model/IAsbCloudDbContext.cs b/AsbCloudDb/Model/IAsbCloudDbContext.cs index 84f4a824..8fbd7de5 100644 --- a/AsbCloudDb/Model/IAsbCloudDbContext.cs +++ b/AsbCloudDb/Model/IAsbCloudDbContext.cs @@ -1,4 +1,5 @@ -using AsbCloudDb.Model.WITS; +using AsbCloudDb.Model.DailyReportDB; +using AsbCloudDb.Model.WITS; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using System; diff --git a/AsbCloudInfrastructure/Services/DailyReport/DailyReportService.cs b/AsbCloudInfrastructure/Services/DailyReport/DailyReportService.cs index b0a689f6..0dbb4636 100644 --- a/AsbCloudInfrastructure/Services/DailyReport/DailyReportService.cs +++ b/AsbCloudInfrastructure/Services/DailyReport/DailyReportService.cs @@ -9,7 +9,7 @@ using AsbCloudApp.Data; using AsbCloudApp.Services; using AsbCloudDb.Model; using System.Collections.Generic; - +using AsbCloudDb.Model.DailyReportDB; using AsbCloudApp.Data.DailyReport; namespace AsbCloudInfrastructure.Services.DailyReport @@ -64,11 +64,17 @@ namespace AsbCloudInfrastructure.Services.DailyReport var offsetHours = wellService.GetTimezone(idWell).Hours; var reportDateOffset = dto.HeadDto.ReportDate.ToUtcDateTimeOffset(offsetHours); var info = Convert(dto, offsetHours); - var entity = new AsbCloudDb.Model.DailyReport + var entity = new AsbCloudDb.Model.DailyReportDB.DailyReport { IdWell = idWell, StartDate = reportDateOffset, - Info = info, + BlockHead = info.HeadInfo, + BlockBha = info.BhaDto, + BlockDimensionless = info.DimensionlessInfo, + BlockTimeBalance = info.TimeBalanceInfo, + BlockSaub = info.SaubInfo, + BlockSign = info.SignInfo + }; db.DailyReports.Add(entity); var result = await db.SaveChangesAsync(token); @@ -88,7 +94,8 @@ namespace AsbCloudInfrastructure.Services.DailyReport if (entity is null) return 0; - entity.Info = Convert(dto, offsetHours); + var convertEntity = Convert(dto, offsetHours); + entity.BlockHead = convertEntity.HeadInfo; db.DailyReports.Update(entity); var result = await db.SaveChangesAsync(token); @@ -141,9 +148,18 @@ namespace AsbCloudInfrastructure.Services.DailyReport return result; } - private static DailyReportDto Convert(AsbCloudDb.Model.DailyReport entity, double offsetHours) + private static DailyReportDto Convert(AsbCloudDb.Model.DailyReportDB.DailyReport entity, double offsetHours) { - var dto = entity.Info.Adapt(); + var dto = new DailyReportDto() + { + BhaDto = entity.BlockBha.Adapt(), + HeadDto = entity.BlockHead.Adapt(), + TimeBalanceDto = entity.BlockTimeBalance.Adapt(), + DimensionlessDto = entity.BlockDimensionless.Adapt(), + SaubDto = entity.BlockSaub.Adapt(), + SignDto = entity.BlockSign.Adapt() + }; + dto.HeadDto.ReportDate = entity.StartDate .ToRemoteDateTime(offsetHours); return dto;