diff --git a/AsbCloud.sln b/AsbCloud.sln
index ed415f6d..f2a20c79 100644
--- a/AsbCloud.sln
+++ b/AsbCloud.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30907.101
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbCloudWebApi", "AsbCloudWebApi\AsbCloudWebApi.csproj", "{A2768702-47CB-4127-941C-E339D5EFCFFE}"
EndProject
@@ -15,6 +15,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbCloudDb", "AsbCloudDb\As
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbCloudWebApi.Tests", "AsbCloudWebApi.Tests\AsbCloudWebApi.Tests.csproj", "{9CF6FBB1-9AF5-45AB-A521-24F11A79B540}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{E1EFA324-A3D3-46B9-A9B2-3EB9A50BB8EF}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbSaubReport", "..\..\SAUB\AsbSaubReport\AsbSaubReport\AsbSaubReport.csproj", "{CB5A6A64-FFB3-4043-AF8D-68EAC60888BD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbSaubReportPdf", "..\..\SAUB\AsbSaubReport\AsbSaubReportPdf\AsbSaubReportPdf.csproj", "{E7073282-F24B-4C90-A251-4837E88A058B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbSaubReportLas", "..\..\SAUB\AsbSaubReport\AsbSaubReportLas\AsbSaubReportLas.csproj", "{7DF7DF88-FF51-47C1-94F3-0A8326C971D1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AsbSaubReportGui", "..\..\SAUB\AsbSaubReport\AsbSaubReportGui\AsbSaubReportGui.csproj", "{F0B6B69F-E2B6-498E-AA7A-4E912C0F3602}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -45,10 +55,32 @@ Global
{9CF6FBB1-9AF5-45AB-A521-24F11A79B540}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9CF6FBB1-9AF5-45AB-A521-24F11A79B540}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9CF6FBB1-9AF5-45AB-A521-24F11A79B540}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CB5A6A64-FFB3-4043-AF8D-68EAC60888BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB5A6A64-FFB3-4043-AF8D-68EAC60888BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CB5A6A64-FFB3-4043-AF8D-68EAC60888BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CB5A6A64-FFB3-4043-AF8D-68EAC60888BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E7073282-F24B-4C90-A251-4837E88A058B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E7073282-F24B-4C90-A251-4837E88A058B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E7073282-F24B-4C90-A251-4837E88A058B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E7073282-F24B-4C90-A251-4837E88A058B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7DF7DF88-FF51-47C1-94F3-0A8326C971D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DF7DF88-FF51-47C1-94F3-0A8326C971D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DF7DF88-FF51-47C1-94F3-0A8326C971D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DF7DF88-FF51-47C1-94F3-0A8326C971D1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F0B6B69F-E2B6-498E-AA7A-4E912C0F3602}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0B6B69F-E2B6-498E-AA7A-4E912C0F3602}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0B6B69F-E2B6-498E-AA7A-4E912C0F3602}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F0B6B69F-E2B6-498E-AA7A-4E912C0F3602}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {CB5A6A64-FFB3-4043-AF8D-68EAC60888BD} = {E1EFA324-A3D3-46B9-A9B2-3EB9A50BB8EF}
+ {E7073282-F24B-4C90-A251-4837E88A058B} = {E1EFA324-A3D3-46B9-A9B2-3EB9A50BB8EF}
+ {7DF7DF88-FF51-47C1-94F3-0A8326C971D1} = {E1EFA324-A3D3-46B9-A9B2-3EB9A50BB8EF}
+ {F0B6B69F-E2B6-498E-AA7A-4E912C0F3602} = {E1EFA324-A3D3-46B9-A9B2-3EB9A50BB8EF}
+ EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {E446878D-6B1B-4279-A3F0-1974362B9921}
EndGlobalSection
diff --git a/AsbCloudApp/AsbCloudApp.csproj b/AsbCloudApp/AsbCloudApp.csproj
index f208d303..dbc15171 100644
--- a/AsbCloudApp/AsbCloudApp.csproj
+++ b/AsbCloudApp/AsbCloudApp.csproj
@@ -1,7 +1,7 @@
- net5.0
+ net6.0
diff --git a/AsbCloudApp/Comparators/ComparerIId.cs b/AsbCloudApp/Comparators/ComparerIId.cs
new file mode 100644
index 00000000..a43ff8fd
--- /dev/null
+++ b/AsbCloudApp/Comparators/ComparerIId.cs
@@ -0,0 +1,24 @@
+using AsbCloudApp.Data;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+
+namespace AsbCloudApp.Comparators
+{
+ public class ComparerIId : IComparer, IEqualityComparer
+ {
+ private static readonly ComparerIId instance = new ComparerIId();
+ private ComparerIId(){}
+
+ public static ComparerIId GetInstance() => instance;
+
+ public int Compare(IId x, IId y) =>
+ x.Id.CompareTo(y.Id);
+
+ public bool Equals(IId x, IId y) =>
+ x.Id == y.Id;
+
+ public int GetHashCode([DisallowNull] IId obj) =>
+ obj.GetHashCode();
+
+ }
+}
diff --git a/AsbCloudApp/Data/ClusterDto.cs b/AsbCloudApp/Data/ClusterDto.cs
index 895d3501..1f2eb2c7 100644
--- a/AsbCloudApp/Data/ClusterDto.cs
+++ b/AsbCloudApp/Data/ClusterDto.cs
@@ -8,6 +8,7 @@ namespace AsbCloudApp.Data
public string Caption { get; set; }
public double? Latitude { get; set; }
public double? Longitude { get; set; }
+ public SimpleTimezoneDto Timezone { get; set; }
public int? IdDeposit { get; set; }
public DepositBaseDto Deposit { get; set; }
public IEnumerable Wells { get; set; }
diff --git a/AsbCloudApp/Data/CompanyDto.cs b/AsbCloudApp/Data/CompanyDto.cs
index 572c4b24..38b6f9fc 100644
--- a/AsbCloudApp/Data/CompanyDto.cs
+++ b/AsbCloudApp/Data/CompanyDto.cs
@@ -1,9 +1,11 @@
namespace AsbCloudApp.Data
{
+
public class CompanyDto : IId
{
public int Id { get; set; }
public string Caption { get; set; }
+ public int IdCompanyType { get; set; }
public string CompanyTypeCaption { get; set; }
}
}
diff --git a/AsbCloudApp/Data/CompanyTypeDto.cs b/AsbCloudApp/Data/CompanyTypeDto.cs
new file mode 100644
index 00000000..07366b57
--- /dev/null
+++ b/AsbCloudApp/Data/CompanyTypeDto.cs
@@ -0,0 +1,9 @@
+namespace AsbCloudApp.Data
+{
+ public class CompanyTypeDto : IId
+ {
+ public int Id { get; set; }
+ public string Caption { get; set; }
+
+ }
+}
diff --git a/AsbCloudApp/Data/DepositDto.cs b/AsbCloudApp/Data/DepositDto.cs
index 71d59f9c..be0200fd 100644
--- a/AsbCloudApp/Data/DepositDto.cs
+++ b/AsbCloudApp/Data/DepositDto.cs
@@ -8,6 +8,7 @@ namespace AsbCloudApp.Data
public string Caption { get; set; }
public double? Latitude { get; set; }
public double? Longitude { get; set; }
+ public SimpleTimezoneDto Timezone { get; set; }
}
public class DepositDto : DepositBaseDto
diff --git a/AsbCloudApp/Data/DrillFlowChartDto.cs b/AsbCloudApp/Data/DrillFlowChartDto.cs
index 96095fe9..55e14919 100644
--- a/AsbCloudApp/Data/DrillFlowChartDto.cs
+++ b/AsbCloudApp/Data/DrillFlowChartDto.cs
@@ -3,7 +3,7 @@ using System;
namespace AsbCloudApp.Data
{
///
- /// ( )
+ /// ( )
///
public class DrillFlowChartDto : IId
{
diff --git a/AsbCloudApp/Data/IMapPoint.cs b/AsbCloudApp/Data/IMapPoint.cs
index fe2798ca..4ab08239 100644
--- a/AsbCloudApp/Data/IMapPoint.cs
+++ b/AsbCloudApp/Data/IMapPoint.cs
@@ -4,5 +4,6 @@
{
double? Latitude { get; set; }
double? Longitude { get; set; }
+ SimpleTimezoneDto Timezone { get; set; }
}
}
diff --git a/AsbCloudApp/Data/PaginationContainer.cs b/AsbCloudApp/Data/PaginationContainer.cs
index ba33eaf3..49d49d6a 100644
--- a/AsbCloudApp/Data/PaginationContainer.cs
+++ b/AsbCloudApp/Data/PaginationContainer.cs
@@ -19,7 +19,7 @@ namespace AsbCloudApp.Data
}
///
- /// Кол-во записей пропущеных с начала таблицы в запросе от api
+ /// Кол-во записей пропущенных с начала таблицы в запросе от api
///
public int Skip { get; set; }
diff --git a/AsbCloudApp/Data/ReportPropertiesDto.cs b/AsbCloudApp/Data/ReportPropertiesDto.cs
index a8acfe71..8b889a2d 100644
--- a/AsbCloudApp/Data/ReportPropertiesDto.cs
+++ b/AsbCloudApp/Data/ReportPropertiesDto.cs
@@ -9,8 +9,8 @@ namespace AsbCloudApp.Data
public FileInfoDto File { get; set; }
public int IdWell { get; set; }
public DateTime Date { get; set; }
- public DateTimeOffset Begin { get; set; }
- public DateTimeOffset End { get; set; }
+ public DateTime Begin { get; set; }
+ public DateTime End { get; set; }
public int Step { get; set; }
public string Format { get; set; }
}
diff --git a/AsbCloudApp/Data/TelemetryTimeZoneDto.cs b/AsbCloudApp/Data/SimpleTimezoneDto.cs
similarity index 66%
rename from AsbCloudApp/Data/TelemetryTimeZoneDto.cs
rename to AsbCloudApp/Data/SimpleTimezoneDto.cs
index b8cd7e2b..32a8ff9e 100644
--- a/AsbCloudApp/Data/TelemetryTimeZoneDto.cs
+++ b/AsbCloudApp/Data/SimpleTimezoneDto.cs
@@ -1,16 +1,16 @@
namespace AsbCloudApp.Data
{
- public class TelemetryTimeZoneDto
+ public class SimpleTimezoneDto
{
public double Hours { get; set; }
- public string TimeZoneId { get; set; }
+ public string TimezoneId { get; set; }
public bool IsOverride { get; set; }
public override bool Equals(object obj)
{
- if(obj is TelemetryTimeZoneDto tTimeZone
+ if(obj is SimpleTimezoneDto tTimeZone
&& tTimeZone.Hours == Hours
- && tTimeZone.TimeZoneId == TimeZoneId
+ && tTimeZone.TimezoneId == TimezoneId
&& tTimeZone.IsOverride == IsOverride)
return true;
return false;
@@ -18,7 +18,7 @@ namespace AsbCloudApp.Data
public override int GetHashCode()
=> Hours.GetHashCode()
- | TimeZoneId.GetHashCode()
+ | TimezoneId.GetHashCode()
| IsOverride.GetHashCode();
}
}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/TelemetryDataSaubDto.cs b/AsbCloudApp/Data/TelemetryDataSaubDto.cs
index 7099ddab..0d669253 100644
--- a/AsbCloudApp/Data/TelemetryDataSaubDto.cs
+++ b/AsbCloudApp/Data/TelemetryDataSaubDto.cs
@@ -38,7 +38,7 @@ namespace AsbCloudApp.Data
public float? WellDepth { get; set; }
///
- /// Глубина долта
+ /// Глубина долота
///
public float? BitDepth { get; set; }
@@ -83,12 +83,12 @@ namespace AsbCloudApp.Data
public float? BlockSpeedSpDevelop { get; set; }
///
- /// Давтение
+ /// Давление
///
public float? Pressure { get; set; }
///
- /// Давтение при холостом ходе.
+ /// Давление при холостом ходе.
///
public float? PressureIdle { get; set; }
diff --git a/AsbCloudApp/Data/TelemetryOperationInfoDto.cs b/AsbCloudApp/Data/TelemetryOperationInfoDto.cs
index 39a50e86..5ce268d7 100644
--- a/AsbCloudApp/Data/TelemetryOperationInfoDto.cs
+++ b/AsbCloudApp/Data/TelemetryOperationInfoDto.cs
@@ -5,7 +5,7 @@ namespace AsbCloudApp.Data
{
public class TelemetryOperationInfoDto
{
- public DateTimeOffset IntervalBegin { get; set; }
+ public DateTime IntervalBegin { get; set; }
public IList Operations { get; set; }
}
}
diff --git a/AsbCloudApp/Data/UserRoleDto.cs b/AsbCloudApp/Data/UserRoleDto.cs
index a16a4959..b7a06039 100644
--- a/AsbCloudApp/Data/UserRoleDto.cs
+++ b/AsbCloudApp/Data/UserRoleDto.cs
@@ -7,10 +7,12 @@ namespace AsbCloudApp.Data
{
public int Id { get; set; }
public string Caption { get; set; }
- public int? IdParent { get; set; }
public int IdType { get; set; }
public IEnumerable Permissions { get; set; }
+ public virtual ICollection Roles { get; set; }
+
[JsonIgnore]
public virtual ICollection Users { get; set; }
+
}
}
diff --git a/AsbCloudApp/Data/WellDto.cs b/AsbCloudApp/Data/WellDto.cs
index f3843eaa..f89c6956 100644
--- a/AsbCloudApp/Data/WellDto.cs
+++ b/AsbCloudApp/Data/WellDto.cs
@@ -8,12 +8,13 @@ namespace AsbCloudApp.Data
public int Id { get; set; }
public double? Latitude { get; set; }
public double? Longitude { get; set; }
+ public SimpleTimezoneDto Timezone { get; set; }
public string WellType { get; set; }
- public int IdWellType { get; set; }
+ public int? IdWellType { get; set; }
public int? IdCluster { get; set; }
///
- /// 0 - незвестно,
+ /// 0 - неизвестно,
/// 1 - в работе,
/// 2 - завершена
///
diff --git a/AsbCloudApp/Data/WellOperationDto.cs b/AsbCloudApp/Data/WellOperationDto.cs
index 35fa5007..765c021f 100644
--- a/AsbCloudApp/Data/WellOperationDto.cs
+++ b/AsbCloudApp/Data/WellOperationDto.cs
@@ -33,6 +33,11 @@ namespace AsbCloudApp.Data
///
public double DepthEnd { get; set; }
+ ///
+ /// Кол-во дней от даты начала первой плановой (а если её нет, то фактической) операции
+ ///
+ public double Day { get; set; }
+
///
/// Дата начала операции
///
diff --git a/AsbCloudApp/Services/IMessageService.cs b/AsbCloudApp/Services/IMessageService.cs
index 9b4221c9..1a2536f2 100644
--- a/AsbCloudApp/Services/IMessageService.cs
+++ b/AsbCloudApp/Services/IMessageService.cs
@@ -11,10 +11,9 @@ namespace AsbCloudApp.Services
Task> GetMessagesAsync(int idWell,
IEnumerable categoryids = default, DateTime begin = default,
DateTime end = default, string searchString = default,
- int skip = 0, int take = 32, bool isUtc = true,
- CancellationToken token = default);
- Task GetMessagesDatesRangeAsync(int idWell, bool isUtc,
+ int skip = 0, int take = 32,
CancellationToken token = default);
+
Task InsertAsync(string uid, IEnumerable dtos,
CancellationToken token);
}
diff --git a/AsbCloudApp/Services/IReportService.cs b/AsbCloudApp/Services/IReportService.cs
index 258195d5..b900e877 100644
--- a/AsbCloudApp/Services/IReportService.cs
+++ b/AsbCloudApp/Services/IReportService.cs
@@ -14,8 +14,7 @@ namespace AsbCloudApp.Services
Action