diff --git a/AsbCloudWebApi/Controllers/DailyReportController.cs b/AsbCloudWebApi/Controllers/DailyReportController.cs index 11b5c17a..bc44a4e1 100644 --- a/AsbCloudWebApi/Controllers/DailyReportController.cs +++ b/AsbCloudWebApi/Controllers/DailyReportController.cs @@ -91,11 +91,9 @@ namespace AsbCloudWebApi.Controllers [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] public async Task UpdateHeadAsync(int idWell, [Required] DateTime date, [Required] HeadDto dto, CancellationToken token = default) { - var idUser = User.GetUserId(); - if (idUser is null) + if (!setEditorIdToDailyReportBlock(dto)) return Forbid(); - dto.IdUser = idUser; var result = await dailyReportService.UpdateBlockAsync(idWell, date, dto, token); return Ok(result); } @@ -112,11 +110,9 @@ namespace AsbCloudWebApi.Controllers [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] public async Task UpdateBhaAsync(int idWell, [Required] DateTime date, [Required] BhaDto dto, CancellationToken token = default) { - var idUser = User.GetUserId(); - if (idUser is null) + if (!setEditorIdToDailyReportBlock(dto)) return Forbid(); - dto.IdUser = idUser; var result = await dailyReportService.UpdateBlockAsync(idWell, date, dto, token); return Ok(result); } @@ -133,16 +129,13 @@ namespace AsbCloudWebApi.Controllers [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] public async Task UpdateNoDrillingAsync(int idWell, [Required] DateTime date, [Required] NoDrillingDto dto, CancellationToken token = default) { - var idUser = User.GetUserId(); - if (idUser is null) + if (!setEditorIdToDailyReportBlock(dto)) return Forbid(); - dto.IdUser = idUser; var result = await dailyReportService.UpdateBlockAsync(idWell, date, dto, token); return Ok(result); } - /// /// Сохранение изменений набора данных для формирования рапорта (САУБ) /// @@ -155,11 +148,9 @@ namespace AsbCloudWebApi.Controllers [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] public async Task UpdateSaubAsync(int idWell, [Required] DateTime date, [Required] SaubDto dto, CancellationToken token = default) { - var idUser = User.GetUserId(); - if (idUser is null) + if (!setEditorIdToDailyReportBlock(dto)) return Forbid(); - dto.IdUser = idUser; var result = await dailyReportService.UpdateBlockAsync(idWell, date, dto, token); return Ok(result); } @@ -176,15 +167,29 @@ namespace AsbCloudWebApi.Controllers [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] public async Task UpdateSignAsync(int idWell, [Required] DateTime date, [Required] SignDto dto, CancellationToken token = default) { - var idUser = User.GetUserId(); - if (idUser is null) + if (!setEditorIdToDailyReportBlock(dto)) return Forbid(); - dto.IdUser = idUser; var result = await dailyReportService.UpdateBlockAsync(idWell, date, dto, token); return Ok(result); } + /// + /// записать ключ пользователя, вносящего изменения в блок суточного рапорта + /// + /// + /// + private bool setEditorIdToDailyReportBlock(ItemInfoDto dto) + { + var idUser = User.GetUserId(); + if (idUser is null) + return false; + else + dto.IdUser = idUser; + + return true; + } + /// /// Сформировать и скачать рапорт в формате excel ///