diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs
deleted file mode 100644
index 6bc073ea..00000000
--- a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanBaseDto.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using System.ComponentModel.DataAnnotations;
-
-namespace AsbCloudApp.Data.ProcessMaps;
-
-///
-public abstract class ProcessMapPlanBaseDto : IId, IWellRelated
-{
- ///
- [Required]
- public int Id { get; set; }
-
- ///
- /// Id скважины
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id скважины не может быть меньше 1")]
- public int IdWell { get; set; }
-
- ///
- /// Id пользователя
- ///
- public int IdUser { get; set; }
-
- ///
- /// Тип секции
- ///
- [Required]
- [Range(1, int.MaxValue, ErrorMessage = "Id секции скважины не может быть меньше 1")]
- public int IdWellSectionType { get; set; }
-
- ///
- /// Дата последнего изменения
- ///
- public DateTimeOffset LastUpdate { get; set; }
-
- ///
- /// Глубина по стволу от, м
- ///
- /// на начало интервала
- ///
- ///
- [Required]
- [Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
- public double DepthStart { get; set; }
-
- ///
- /// Глубина по стволу до, м
- ///
- /// на конец интервала
- ///
- ///
- [Required]
- [Range(0, 99999.9, ErrorMessage = "Глубина не может быть отрицательной")]
- public double DepthEnd { get; set; }
-
- ///
- /// Комментарий
- ///
- public string? Comment { get; set; }
-}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellDrillingDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellDrillingDto.cs
deleted file mode 100644
index 4e6a22b2..00000000
--- a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellDrillingDto.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using System.ComponentModel.DataAnnotations;
-
-namespace AsbCloudApp.Data.ProcessMaps;
-
-///
-/// РТК план бурение скважины
-///
-public class ProcessMapPlanWellDrillingDto : ProcessMapPlanBaseDto
-{
- ///
- /// Id режима 0-ручной, 1-ротор, 2 - слайд
- ///
- [Required]
- [Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")]
- public int IdMode { get; set; }
-
- ///
- /// Нагрузка
- ///
- [Required]
- public PlanLimitDto AxialLoad { get; set; } = null!;
-
- ///
- /// Перепад давления
- ///
- [Required]
- public PlanLimitDto Pressure { get; set; } = null!;
-
- ///
- /// Момент на ВСП
- ///
- [Required]
- public PlanLimitDto TopDriveTorque { get; set; } = null!;
-
- ///
- /// Обороты на ВСП
- ///
- [Required]
- public PlanLimitDto TopDriveSpeed { get; set; } = null!;
-
- ///
- /// Расход
- ///
- [Required]
- public PlanLimitDto Flow { get; set; } = null!;
-
- ///
- /// Плановая механическая скорость, м/ч
- ///
- [Required]
- [Range(0, 99999.9, ErrorMessage = "Плановая механическая скорость должно быть в пределах от 0 до 99999.9")]
- public double RopPlan { get; set; }
-
- ///
- /// Плановый процент использования АКБ
- ///
- [Required]
- [Range(0, 100, ErrorMessage = "Процент использования АКБ должен быть в пределах от 0 до 100")]
- public double UsageSaub { get; set; }
-
- ///
- /// Плановый процент использования spin master
- ///
- [Required]
- [Range(0, 100, ErrorMessage = "Процент использования spin master должен быть в пределах от 0 до 100")]
- public double UsageSpin { get; set; }
-}
\ No newline at end of file
diff --git a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellReamDto.cs b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellReamDto.cs
index ed3c57da..2fd39911 100644
--- a/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellReamDto.cs
+++ b/AsbCloudApp/Data/ProcessMaps/ProcessMapPlanWellReamDto.cs
@@ -1,3 +1,4 @@
+using AsbCloudApp.Data.ProcessMapPlan;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
@@ -6,7 +7,7 @@ namespace AsbCloudApp.Data.ProcessMaps;
///
/// РТК план проработка скважины
///
-public class ProcessMapPlanWellReamDto : AsbCloudApp.Data.ProcessMapPlan.ProcessMapPlanBaseDto, IValidatableObject
+public class ProcessMapPlanWellReamDto : ProcessMapPlanBaseDto, IValidatableObject
{
///
/// Количество повторений
diff --git a/AsbCloudApp/Services/ProcessMaps/IProcessMapPlanService.cs b/AsbCloudApp/Services/ProcessMaps/IProcessMapPlanService.cs
index 7068ed47..775450c8 100644
--- a/AsbCloudApp/Services/ProcessMaps/IProcessMapPlanService.cs
+++ b/AsbCloudApp/Services/ProcessMaps/IProcessMapPlanService.cs
@@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using AsbCloudApp.Data;
+using AsbCloudApp.Data.ProcessMapPlan;
namespace AsbCloudApp.Services.ProcessMaps;
@@ -9,7 +10,7 @@ namespace AsbCloudApp.Services.ProcessMaps;
/// РТК
///
public interface IProcessMapPlanService
- where T : AsbCloudApp.Data.ProcessMapPlan.ProcessMapPlanBaseDto
+ where T : ProcessMapPlanBaseDto
{
///
/// Получение РТК план по скважине
diff --git a/AsbCloudInfrastructure/DependencyInjection.cs b/AsbCloudInfrastructure/DependencyInjection.cs
index 72e1bde2..8d7219e2 100644
--- a/AsbCloudInfrastructure/DependencyInjection.cs
+++ b/AsbCloudInfrastructure/DependencyInjection.cs
@@ -101,48 +101,6 @@ namespace AsbCloudInfrastructure
.Ignore(dst => dst.NotificationCategory,
dst => dst.User);
- TypeAdapterConfig.GlobalSettings.Default.Config
- .ForType()
- .Map(dest => dest.AxialLoad, src => new PlanLimitDto
- {
- LimitMax = src.AxialLoadLimitMax,
- Plan = src.AxialLoadPlan
- })
- .Map(dest => dest.Flow, src => new PlanLimitDto
- {
- LimitMax = src.FlowLimitMax,
- Plan = src.FlowPlan
- })
- .Map(dest => dest.Pressure, src => new PlanLimitDto
- {
- LimitMax = src.PressureLimitMax,
- Plan = src.PressurePlan
- })
- .Map(dest => dest.TopDriveSpeed, src => new PlanLimitDto
- {
- LimitMax = src.TopDriveSpeedLimitMax,
- Plan = src.TopDriveSpeedPlan
- })
- .Map(dest => dest.TopDriveTorque, src => new PlanLimitDto
- {
- LimitMax = src.TopDriveTorqueLimitMax,
- Plan = src.TopDriveTorquePlan
- });
-
- TypeAdapterConfig.GlobalSettings.Default.Config
- .ForType()
- .Map(dest => dest.AxialLoadPlan, src => src.AxialLoad.Plan)
- .Map(dest => dest.AxialLoadLimitMax, src => src.AxialLoad.LimitMax)
- .Map(dest => dest.FlowPlan, src => src.Flow.Plan)
- .Map(dest => dest.FlowLimitMax, src => src.Flow.LimitMax)
- .Map(dest => dest.PressurePlan, src => src.Pressure.Plan)
- .Map(dest => dest.PressureLimitMax, src => src.Pressure.LimitMax)
- .Map(dest => dest.TopDriveSpeedPlan, src => src.TopDriveSpeed.Plan)
- .Map(dest => dest.TopDriveSpeedLimitMax, src => src.TopDriveSpeed.LimitMax)
- .Map(dest => dest.TopDriveTorquePlan, src => src.TopDriveTorque.Plan)
- .Map(dest => dest.TopDriveTorqueLimitMax, src => src.TopDriveTorque.LimitMax);
-
-
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType()
.Map(dest => dest.DurationHours, src => new PlanFactDto()
diff --git a/AsbCloudInfrastructure/Services/ProcessMaps/ProcessMapPlanService.cs b/AsbCloudInfrastructure/Services/ProcessMaps/ProcessMapPlanService.cs
index 27e0170e..08d73b4f 100644
--- a/AsbCloudInfrastructure/Services/ProcessMaps/ProcessMapPlanService.cs
+++ b/AsbCloudInfrastructure/Services/ProcessMaps/ProcessMapPlanService.cs
@@ -1,4 +1,5 @@
using AsbCloudApp.Data;
+using AsbCloudApp.Data.ProcessMapPlan;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
@@ -12,7 +13,7 @@ using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services.ProcessMaps;
public class ProcessMapPlanService : AsbCloudApp.Services.ProcessMaps.IProcessMapPlanService
- where T : AsbCloudApp.Data.ProcessMapPlan.ProcessMapPlanBaseDto
+ where T : ProcessMapPlanBaseDto
{
private readonly ICrudRepository wellSectionTypeRepository;
private readonly IChangeLogRepository processMapPlanBaseRepository;
diff --git a/AsbCloudWebApi/Controllers/ProcessMaps/WellSectionPlanController.cs b/AsbCloudWebApi/Controllers/ProcessMaps/WellSectionPlanController.cs
index 454aea70..8d0011d4 100644
--- a/AsbCloudWebApi/Controllers/ProcessMaps/WellSectionPlanController.cs
+++ b/AsbCloudWebApi/Controllers/ProcessMaps/WellSectionPlanController.cs
@@ -1,9 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
using AsbCloudApp.Data;
+using AsbCloudApp.Data.ProcessMapPlan;
using AsbCloudApp.Data.ProcessMaps;
using AsbCloudApp.Exceptions;
using AsbCloudApp.Repositories;
@@ -11,6 +7,11 @@ using AsbCloudApp.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers.ProcessMaps;
@@ -22,167 +23,167 @@ namespace AsbCloudWebApi.Controllers.ProcessMaps;
[Authorize]
public class WellSectionPlanController : ControllerBase
{
- private readonly IWellService wellService;
- private readonly IWellSectionPlanRepository wellSectionPlanRepository;
- private readonly ICrudRepository wellSectionRepository;
+ private readonly IWellService wellService;
+ private readonly IWellSectionPlanRepository wellSectionPlanRepository;
+ private readonly ICrudRepository wellSectionRepository;
- public WellSectionPlanController(IWellService wellService,
- IWellSectionPlanRepository wellSectionPlanRepository,
- ICrudRepository wellSectionRepository)
- {
- this.wellService = wellService;
- this.wellSectionPlanRepository = wellSectionPlanRepository;
- this.wellSectionRepository = wellSectionRepository;
- }
+ public WellSectionPlanController(IWellService wellService,
+ IWellSectionPlanRepository wellSectionPlanRepository,
+ ICrudRepository wellSectionRepository)
+ {
+ this.wellService = wellService;
+ this.wellSectionPlanRepository = wellSectionPlanRepository;
+ this.wellSectionRepository = wellSectionRepository;
+ }
- //TODO: так же следует вынести в базовый контроллер
- private int IdUser
- {
- get
- {
- var idUser = User.GetUserId();
+ //TODO: так же следует вынести в базовый контроллер
+ private int IdUser
+ {
+ get
+ {
+ var idUser = User.GetUserId();
- if (!idUser.HasValue)
- throw new ForbidException("Неизвестный пользователь");
+ if (!idUser.HasValue)
+ throw new ForbidException("Неизвестный пользователь");
- return idUser.Value;
- }
- }
+ return idUser.Value;
+ }
+ }
- ///
- /// Добавить секцию
- ///
- /// Идентификатор скважины
- /// Секция скважины - план
- ///
- ///
- [HttpPost]
- [Permission]
- [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- public async Task InsertAsync(int idWell, WellSectionPlanDto wellSection, CancellationToken cancellationToken)
- {
- wellSection.IdWell = idWell;
- wellSection.IdUser = IdUser;
-
- await CheckIsExistsWellSectionTypeAsync(wellSection.IdSectionType, cancellationToken);
-
- await AssertUserAccessToWell(idWell, cancellationToken);
+ ///
+ /// Добавить секцию
+ ///
+ /// Идентификатор скважины
+ /// Секция скважины - план
+ ///
+ ///
+ [HttpPost]
+ [Permission]
+ [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
+ [ProducesResponseType(StatusCodes.Status403Forbidden)]
+ public async Task InsertAsync(int idWell, WellSectionPlanDto wellSection, CancellationToken cancellationToken)
+ {
+ wellSection.IdWell = idWell;
+ wellSection.IdUser = IdUser;
- var wellSectionId = await wellSectionPlanRepository.InsertAsync(wellSection, cancellationToken);
+ await CheckIsExistsWellSectionTypeAsync(wellSection.IdSectionType, cancellationToken);
- return Ok(wellSectionId);
- }
-
- ///
- /// Обновить секцию
- ///
- /// Идентификатор скважины
- /// Секция скважины - план
- ///
- ///
- [HttpPut]
- [Permission]
- [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- public async Task UpdateAsync(int idWell, WellSectionPlanDto wellSection, CancellationToken cancellationToken)
- {
- wellSection.IdWell = idWell;
- wellSection.IdUser = IdUser;
- wellSection.LastUpdateDate = DateTimeOffset.UtcNow;
+ await AssertUserAccessToWell(idWell, cancellationToken);
- await CheckIsExistsWellSectionTypeAsync(wellSection.IdSectionType, cancellationToken);
-
- await AssertUserAccessToWell(idWell, cancellationToken);
+ var wellSectionId = await wellSectionPlanRepository.InsertAsync(wellSection, cancellationToken);
- var wellSectionId = await wellSectionPlanRepository.UpdateAsync(wellSection, cancellationToken);
+ return Ok(wellSectionId);
+ }
- if (wellSectionId == ICrudRepository.ErrorIdNotFound)
- return this.ValidationBadRequest(nameof(wellSection.Id), $"Секции скважины с Id: {wellSection.Id} не существует");
+ ///
+ /// Обновить секцию
+ ///
+ /// Идентификатор скважины
+ /// Секция скважины - план
+ ///
+ ///
+ [HttpPut]
+ [Permission]
+ [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)]
+ [ProducesResponseType(StatusCodes.Status403Forbidden)]
+ public async Task UpdateAsync(int idWell, WellSectionPlanDto wellSection, CancellationToken cancellationToken)
+ {
+ wellSection.IdWell = idWell;
+ wellSection.IdUser = IdUser;
+ wellSection.LastUpdateDate = DateTimeOffset.UtcNow;
- return Ok(wellSectionId);
- }
+ await CheckIsExistsWellSectionTypeAsync(wellSection.IdSectionType, cancellationToken);
- ///
- /// Получить типы секций
- ///
- /// Идентификатор скважины
- ///
- ///
- [HttpGet("wellSectionTypes")]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- public async Task GetWellSectionTypesAsync(int idWell, CancellationToken cancellationToken)
- {
- await AssertUserAccessToWell(idWell, cancellationToken);
+ await AssertUserAccessToWell(idWell, cancellationToken);
- var wellSectionTypes = await wellSectionPlanRepository.GetWellSectionTypesAsync(idWell, cancellationToken);
+ var wellSectionId = await wellSectionPlanRepository.UpdateAsync(wellSection, cancellationToken);
- if (!wellSectionTypes.Any())
- return NoContent();
+ if (wellSectionId == ICrudRepository.ErrorIdNotFound)
+ return this.ValidationBadRequest(nameof(wellSection.Id), $"Секции скважины с Id: {wellSection.Id} не существует");
- return Ok(wellSectionTypes);
- }
+ return Ok(wellSectionId);
+ }
- ///
- /// Получить список секций
- ///
- /// Идентификатор скважины
- ///
- ///
- [HttpGet]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(StatusCodes.Status204NoContent)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- public async Task GetPlanWellSectionsAsync(int idWell, CancellationToken cancellationToken)
- {
- await AssertUserAccessToWell(idWell, cancellationToken);
+ ///
+ /// Получить типы секций
+ ///
+ /// Идентификатор скважины
+ ///
+ ///
+ [HttpGet("wellSectionTypes")]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status204NoContent)]
+ [ProducesResponseType(StatusCodes.Status403Forbidden)]
+ public async Task GetWellSectionTypesAsync(int idWell, CancellationToken cancellationToken)
+ {
+ await AssertUserAccessToWell(idWell, cancellationToken);
- var planWellSections = await wellSectionPlanRepository.GetByIdWellAsync(idWell, cancellationToken);
-
- if (!planWellSections.Any())
- return NoContent();
+ var wellSectionTypes = await wellSectionPlanRepository.GetWellSectionTypesAsync(idWell, cancellationToken);
- return Ok(planWellSections);
- }
+ if (!wellSectionTypes.Any())
+ return NoContent();
- ///
- /// Удалить секцию
- ///
- /// Идентификатор скважины
- /// Идентификатор плановой секции
- ///
- ///
- [HttpDelete]
- [Permission]
- [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
- [ProducesResponseType(StatusCodes.Status403Forbidden)]
- public async Task DeleteAsync(int idWell, int id, CancellationToken cancellationToken)
- {
- await AssertUserAccessToWell(idWell, cancellationToken);
+ return Ok(wellSectionTypes);
+ }
- var deletedWellSectionPlanCount = await wellSectionPlanRepository.DeleteAsync(id, cancellationToken);
+ ///
+ /// Получить список секций
+ ///
+ /// Идентификатор скважины
+ ///
+ ///
+ [HttpGet]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status204NoContent)]
+ [ProducesResponseType(StatusCodes.Status403Forbidden)]
+ public async Task GetPlanWellSectionsAsync(int idWell, CancellationToken cancellationToken)
+ {
+ await AssertUserAccessToWell(idWell, cancellationToken);
- return Ok(deletedWellSectionPlanCount);
- }
+ var planWellSections = await wellSectionPlanRepository.GetByIdWellAsync(idWell, cancellationToken);
- //TODO: нужно создать базовый контроллер связанный со скважиной и вынести этот метод туда. Данный метод много где дублируется
- private async Task AssertUserAccessToWell(int idWell, CancellationToken cancellationToken)
- {
- var idCompany = User.GetCompanyId();
+ if (!planWellSections.Any())
+ return NoContent();
- if (!idCompany.HasValue || !await wellService.IsCompanyInvolvedInWellAsync(idCompany.Value, idWell, cancellationToken))
- throw new ForbidException("Нет доступа к скважине");
- }
+ return Ok(planWellSections);
+ }
- //TODO: тоже нужно вынести в базовый контроллер
- private async Task CheckIsExistsWellSectionTypeAsync(int idWellSectionType, CancellationToken cancellationToken)
- {
- _ = await wellSectionRepository.GetOrDefaultAsync(idWellSectionType, cancellationToken)
- ?? throw new ArgumentInvalidException(nameof(ProcessMapPlanWellDrillingDto.IdWellSectionType),
- $"Тип секции с Id: {idWellSectionType} не найден");
- }
+ ///
+ /// Удалить секцию
+ ///
+ /// Идентификатор скважины
+ /// Идентификатор плановой секции
+ ///
+ ///
+ [HttpDelete]
+ [Permission]
+ [ProducesResponseType(typeof(int), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status403Forbidden)]
+ public async Task DeleteAsync(int idWell, int id, CancellationToken cancellationToken)
+ {
+ await AssertUserAccessToWell(idWell, cancellationToken);
+
+ var deletedWellSectionPlanCount = await wellSectionPlanRepository.DeleteAsync(id, cancellationToken);
+
+ return Ok(deletedWellSectionPlanCount);
+ }
+
+ //TODO: нужно создать базовый контроллер связанный со скважиной и вынести этот метод туда. Данный метод много где дублируется
+ private async Task AssertUserAccessToWell(int idWell, CancellationToken cancellationToken)
+ {
+ var idCompany = User.GetCompanyId();
+
+ if (!idCompany.HasValue || !await wellService.IsCompanyInvolvedInWellAsync(idCompany.Value, idWell, cancellationToken))
+ throw new ForbidException("Нет доступа к скважине");
+ }
+
+ //TODO: тоже нужно вынести в базовый контроллер
+ private async Task CheckIsExistsWellSectionTypeAsync(int idWellSectionType, CancellationToken cancellationToken)
+ {
+ _ = await wellSectionRepository.GetOrDefaultAsync(idWellSectionType, cancellationToken)
+ ?? throw new ArgumentInvalidException(nameof(ProcessMapPlanDrillingDto.IdWellSectionType),
+ $"Тип секции с Id: {idWellSectionType} не найден");
+ }
}
\ No newline at end of file
diff --git a/AsbCloudWebApi/Controllers/WellCompositeController.cs b/AsbCloudWebApi/Controllers/WellCompositeController.cs
index 63ccd990..5f0c854e 100644
--- a/AsbCloudWebApi/Controllers/WellCompositeController.cs
+++ b/AsbCloudWebApi/Controllers/WellCompositeController.cs
@@ -1,4 +1,5 @@
using AsbCloudApp.Data;
+using AsbCloudApp.Data.ProcessMapPlan;
using AsbCloudApp.Repositories;
using AsbCloudApp.Services;
using Microsoft.AspNetCore.Authorization;
@@ -6,7 +7,6 @@ using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-using AsbCloudApp.Data.ProcessMaps;
namespace AsbCloudWebApi.Controllers
{
@@ -22,7 +22,7 @@ namespace AsbCloudWebApi.Controllers
private readonly IWellCompositeRepository wellCompositeRepository;
private readonly IWellService wellService;
- public WellCompositeController(IWellCompositeRepository wellCompositeRepository,
+ public WellCompositeController(IWellCompositeRepository wellCompositeRepository,
IWellService wellService)
{
this.wellCompositeRepository = wellCompositeRepository;
@@ -73,7 +73,7 @@ namespace AsbCloudWebApi.Controllers
///
[HttpGet("compositeProcessMap")]
[Permission]
- [ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
+ [ProducesResponseType(typeof(IEnumerable), (int)System.Net.HttpStatusCode.OK)]
public async Task GetCompositeProcessMap(int idWell, CancellationToken token)
{
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))