forked from ddrilling/AsbCloudServer
Merge branch 'dev' into feature/email_notifications
This commit is contained in:
commit
bbc42208c2
@ -21,7 +21,7 @@ namespace AsbCloudApp.Data.ProcessMap
|
||||
public int? IdUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Id режима 1-ротор, 2 - слайд
|
||||
/// Id режима 0-ручной, 1-ротор, 2 - слайд
|
||||
/// </summary>
|
||||
[Range(0, 2, ErrorMessage = "Id режима должен быть либо 0-ручной либо, 1-ротор либо 2-слайд")]
|
||||
public int IdMode { get; set; }
|
||||
|
@ -27,11 +27,11 @@ public interface IHelpPageService
|
||||
/// <summary>
|
||||
/// Метод получения файла справки
|
||||
/// </summary>
|
||||
/// <param name="urlPage"></param>
|
||||
/// <param name="pageKey"></param>
|
||||
/// <param name="idCategory"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<(Stream stream, string fileName)> GetFileStreamAsync(string urlPage,
|
||||
Task<(Stream stream, string fileName)?> GetFileStreamAsync(string pageKey,
|
||||
int idCategory,
|
||||
CancellationToken cancellationToken);
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,7 @@
|
||||
using AsbCloudApp.Exceptions;
|
||||
using AsbCloudDb.Model;
|
||||
using AsbSaubReport.Model;
|
||||
using iText.Forms.Xfdf;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -129,6 +130,26 @@ namespace AsbCloudInfrastructure
|
||||
return query;
|
||||
}
|
||||
|
||||
public IQueryable<DataSpinReport> GetDataSpinItems(DateTime begin, DateTime end)
|
||||
{
|
||||
var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset);
|
||||
var endUtc = end.ToUtcDateTimeOffset(timezoneOffset);
|
||||
|
||||
var query = context.TelemetryDataSpin
|
||||
.Where(d => d.IdTelemetry == idTelemetry
|
||||
&& d.DateTime >= beginUtc
|
||||
&& d.DateTime <= endUtc)
|
||||
.OrderBy(d => d.DateTime)
|
||||
.Select(d => new DataSpinReport
|
||||
{
|
||||
Date = d.DateTime.DateTime.AddHours(timezoneOffset),
|
||||
Mode = d.Mode,
|
||||
IsWorkingSpinMaster = (d.State != 0 && d.State != 5 && d.State != 6 && d.State != 7),
|
||||
IsWorkingTorqueMaster = (d.State == 7 && (d.Mode & 2) > 0),
|
||||
});
|
||||
return query;
|
||||
}
|
||||
|
||||
public IQueryable<MessageReport> GetMessages(DateTime begin, DateTime end)
|
||||
{
|
||||
var beginUtc = begin.ToUtcDateTimeOffset(timezoneOffset);
|
||||
|
@ -78,20 +78,23 @@ public class HelpPageService : IHelpPageService
|
||||
/// <summary>
|
||||
/// Метод получения файла справки
|
||||
/// </summary>
|
||||
/// <param name="urlPage"></param>
|
||||
/// <param name="pageKey"></param>
|
||||
/// <param name="idCategory"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentInvalidException"></exception>
|
||||
public async Task<(Stream stream, string fileName)> GetFileStreamAsync(string urlPage,
|
||||
/// <exception cref="NotFoundException"></exception>
|
||||
public async Task<(Stream stream, string fileName)?> GetFileStreamAsync(string pageKey,
|
||||
int idCategory,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
urlPage = WebUtility.UrlDecode(urlPage);
|
||||
pageKey = WebUtility.UrlDecode(pageKey);
|
||||
|
||||
var helpPage = await helpPageRepository.GetOrDefaultByUrlPageAndIdCategoryAsync(urlPage,
|
||||
var helpPage = await helpPageRepository.GetOrDefaultByUrlPageAndIdCategoryAsync(pageKey,
|
||||
idCategory,
|
||||
cancellationToken) ?? throw new ArgumentInvalidException("Справки не существует", nameof(idCategory));
|
||||
cancellationToken);
|
||||
|
||||
if(helpPage is null)
|
||||
return null;
|
||||
|
||||
string filePath = fileStorageRepository.GetFilePath(directoryNameHelpPageFiles,
|
||||
helpPage.IdCategory.ToString(),
|
||||
|
@ -89,14 +89,10 @@ public class HelpPageController : ControllerBase
|
||||
idCategory,
|
||||
cancellationToken);
|
||||
|
||||
using var fileStream = file.stream;
|
||||
if (!file.HasValue)
|
||||
return NoContent();
|
||||
|
||||
var memoryStream = new MemoryStream();
|
||||
await fileStream.CopyToAsync(memoryStream,
|
||||
cancellationToken);
|
||||
memoryStream.Position = 0;
|
||||
|
||||
return File(memoryStream, "application/pdf", file.fileName);
|
||||
return File(file.Value.stream, "application/pdf", file.Value.fileName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -204,11 +204,18 @@ namespace AsbCloudWebApi.Controllers
|
||||
|
||||
using Stream stream = file.OpenReadStream();
|
||||
|
||||
await processMapPlanImportService.ImportAsync(idWell,
|
||||
idUser.Value,
|
||||
(options & 1) > 0,
|
||||
stream,
|
||||
cancellationToken);
|
||||
try
|
||||
{
|
||||
await processMapPlanImportService.ImportAsync(idWell,
|
||||
idUser.Value,
|
||||
(options & 1) > 0,
|
||||
stream,
|
||||
cancellationToken);
|
||||
}
|
||||
catch (FileFormatException ex)
|
||||
{
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user