38 lines
1.8 KiB
C#
38 lines
1.8 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using OI.Metrology.Shared.Models.Stateless;
|
|
using OI.Metrology.Shared.Services;
|
|
|
|
namespace OI.Metrology.Server.ApiControllers;
|
|
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public partial class SpreadingResistanceProfileController : ControllerBase, ISpreadingResistanceProfileController<IActionResult>
|
|
{
|
|
|
|
private readonly IAttachmentsService _AttachmentsService;
|
|
private readonly IMetrologyRepository _MetrologyRepository;
|
|
private readonly IToolTypesRepository _ToolTypesRepository;
|
|
private readonly ISpreadingResistanceProfileService _SpreadingResistanceProfileService;
|
|
|
|
public SpreadingResistanceProfileController(IMetrologyRepository metrologyRepository, IAttachmentsService attachmentsService, IToolTypesRepository toolTypesRepository, ISpreadingResistanceProfileService spreadingResistanceProfileService)
|
|
{
|
|
_MetrologyRepository = metrologyRepository;
|
|
_AttachmentsService = attachmentsService;
|
|
_ToolTypesRepository = toolTypesRepository;
|
|
_SpreadingResistanceProfileService = spreadingResistanceProfileService;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("{toolTypeId}/{tabletype}/files/{attachmentId}/{filename}")]
|
|
public IActionResult GetAttachment(int toolTypeId, string tabletype, string attachmentId, string filename)
|
|
{
|
|
(string? message, string? contenttype, Stream? stream) = _ToolTypesRepository.GetAttachment(_MetrologyRepository, _AttachmentsService, toolTypeId, tabletype, attachmentId, filename);
|
|
if (message is not null)
|
|
return Content(message);
|
|
else if (contenttype is not null && stream is not null)
|
|
return File(_SpreadingResistanceProfileService.GetImageBytes(stream), "image/jpeg");
|
|
else
|
|
throw new Exception();
|
|
}
|
|
|
|
} |